Is it possible to drag a layer in OpenLayers? - html-lists

Is it possible to drag an entire layer in openlayers? (similar to the way you drag a feature)

Related

Expression Blend: Dragging controls from toolbox

I am following some tutorials with expression blend and many of them are tell me to drag a TextBlock from the toolbox. Sure enough I see it, if I long click on it it displays for additional controls.
So if I click it and drag it it should work but it opens up the other controls.
If I double click it then it places it in my design view but I want to drag and drop it.
Am I missing something here, the tutorials I am following are for Expression Blend 4 and I am using Expression Blend 4.
Thinking about it, its sounds correct that you should be able to drag and drop a control on the design surface, but it doesn't work here.
Well in Standard Expression Blend and I assume there is only one version of Expression Blend 4 you actually can't place controls via drag and drop from the toolbox onto the design surface. At least this is my experience.
If you want to place a control what you do is to choose a control via left mouse click in the toolbox which makes it the currently selected one. Then you can place it onto the design surface by defining its dimensions at the place you want to have it positioned.
AFAIK there is no function to drag a control out of the toolbox.

Move controls with the mouse in Cocoa

I want to build a simple forms designer in Cocoa and need to move controls around on a form using the mouse (click, hold, move around, release).
Do I need to inherit new classes from all control classes to intercept those events ? Is there a way to implement it generically for any control?
One way might be to have a single large custom view that fills all the space the controls will be in. Implement the necessary methods to implement mouse events in this view, doing hit detection on the control views and moving them around. This approach requires only 1 custom subclass of NSView, and you can use any views or controls you want to move around without subclassing them.
Write a custom view to contain the controls. Override -hitTest: to ignore the controls and return self instead. Then when you receive mouse events, figure out which control they apply to and move as appropriate.

Drag and drop within a view?

I've been experimenting with the drag-and-drop support in Cocoa - draggingEntered:withInfo:, draggedImage:beganAt:, etc. It looks like OS X only triggers "drag" events when you drag something out of one view and into another.
I have a very large view which I draw stuff inside, and I'm looking for a way to drag objects within it; the objects never leave the view, so the above messages don't seem to be generated, and no drag starts. Is there a way to do "drag and drop within a view", or do I have to implement it myself?
I'm pretty sure you can't do that with drag and drop. If the things you're trying to drag are objects (like NSBezier paths) you can do a hit test on them and then use mouseDown: and mouseDragged: to implement changing the origin of your object, but it's all up to you.

Dragging from and to NSButton

I am trying to write an app. that will allow the user to drag from an NSButton to another. When dropped I would like the Title to be dropped onto the button.
I cannot find a way to make NSButton draggable. Is it possible?
First a warning: this sounds like it would be confusing to a user. Buttons are intended to emulate buttons in the real world. You push them rather than drag them around.
Having said that, it's certainly possible to do in a subclass of NSButton.
Drag source
Implement the dragging source method draggingSourceOperationMaskForLocal:. Sounds like you're copying the title, so you may want to use NSDragOperationCopy.
Call dragImage:at:offset:event:pasteboard:source:slideBack: in your mouseDragged: method. Use the drag pBoard ([NSPasteboard pasteboardWithName:NSDragPboard]) and copy your button title into it. For the image you can draw your button into an NSImage and use that as the drag image, or you might use an icon or even just the title.
Drag destination
Register your custom button to be able to accept the title string using registerForDraggedTypes:.
Implement the drag destination methods draggingEntered: and performDragOperation: to return appropriate values. There are several other methods including draggingUpdated: and draggingExited: among others that you can use to provide visual feedback.
There's lots of info out there on implementing drag & drop. Read Apple's docs: Drag & Drop Programming Topics and Pasteboard Programming Guide

Sizing a control to fit its container in Interface Builder

Let's say I have a split view, and I want to fill half of it with a table view (a fairly common use case, I would think). Is there any way to tell the table view to size itself to fit the split view or do I really have to size it manually?
I've done this, the way Jon Hess mentions first. Assuming you're using Interface Builder version 3:
Drag and resize your GUI (tableview from what I understand?) component to fit into the enclosing area the way you want it.
Click it to select it.
Press Command-Shift-I to open the inspector window for this GUI component. The inspector window should now actually show that you've selected a "Scroll View".
Click the "ruler" heading to be able to set the sizing. You'll see to the right an animated representation of how your GUI component will behave within its enclosing GUI component, and to the left another represenation of the same, without animation, but with four springs and two struts that you can turn on or off.
Turn all six things on, making them red.
VoilĂ  :-)
It's generally easier to create the subviews first, then use the Layout/Embed Objects In/Split View menu item to create the split view around them.
As far as I know, doing it manually is the only way to go. However, if you turn on "snap to cocoa guidelines", the inner view will snap to the edges of the enclosing view as you drag towards them. This makes it easier than having to manually mouse the edges into place, or manually edit the sizes to match.
You can set all of the springs and struts of the table view to "on" in the size inspector and that will cause the table view to fill the split view. Alternatively, you can use the outline view in the main document window to place the tableview's enclosing scroll view directly into the splitview instead of in an intermediary custom view.

Resources