Quantcast
Channel: SmartClient Forums
Viewing all articles
Browse latest Browse all 4756

Hiding knobs but, enabling functionality

$
0
0
SmartGWTPro 4.1d (build from Dec 11, 2013)
SmartGWT version 2.5.1
FireFox 25.0.1

I want to be able to resize the drawRect object. I have added the following line of code to enable resizing.

drawRect.setKnobs(KnobType.RESIZE);

However, I do not want to display the knobs. I want the cursor to change from arrow to crosshair when it is near the edges.

I tried hideKnobs(KnobType.RESIZE). However, functionality to resize went away.


public void onModuleLoad() {
DrawPane drawPane = new DrawPane();
DrawGroup drawGroup = new DrawGroup();
DrawRect drawRect = new DrawRect();

drawPane.setWidth(640);
drawPane.setHeight(480);
drawPane.setCanDrag(true);
drawPane.setBackgroundColor("#D9E4F6");
drawPane.setCursor(Cursor.AUTO);

// If group is added to drawPane before drag operation, drag operation fails
//drawPane.addDrawItem(drawGroup, true);
drawGroup.setKeepInParentRect(true);
drawGroup.setTop(0);
drawGroup.setLeft(0);
drawGroup.setWidth(50);
drawGroup.setHeight(32);
drawGroup.setCanDrag(true);
drawGroup.setUseGroupRect(true);
drawGroup.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
SC.say("yahoo!");
}
});

drawGroup.addMovedHandler(new com.smartgwt.client.widgets.drawing.events.MovedHa ndler() {
public void onMoved(com.smartgwt.client.widgets.drawing.events .MovedEvent event) {
DrawGroup drawGroup = (DrawGroup)event.getSource();
//SC.say("Group moved - left = " + drawGroup.getLeft() + " top = " + drawGroup.getTop() + " width " + drawGroup.getWidth() + " height " + drawGroup.getHeight());

};
});

drawGroup.addDragMoveHandler(new com.smartgwt.client.widgets.drawing.events.DragMov eHandler(){
// public void onDragMove(com.smartgwt.client.widgets.events.Drag MoveEvent event) {
// DrawGroup group = (DrawGroup)event.getSource();
// SC.say("Group moved - left = " + drawGroup.getLeft() + " top = " + drawGroup.getTop() + " width " + drawGroup.getWidth() + " height " + drawGroup.getHeight());
// }

@Override
public void onDragMove(DragMove dragMove) {
DrawGroup drawGroup = (DrawGroup)dragMove.getSource();
SC.say("Group moved - left = " + drawGroup.getLeft() + " top = " + drawGroup.getTop() + " width " + drawGroup.getWidth() + " height " + drawGroup.getHeight());
}
});

//Drag operation works, if it is added here
drawPane.addDrawItem(drawGroup, true);

// DrawRect
drawRect.setKeepInParentRect(true);
drawRect.setFillColor("red");

// Position on top of drawGroup
drawRect.setTop(drawGroup.getTop());
drawRect.setLeft(drawGroup.getLeft());
drawRect.setWidth(drawGroup.getWidth());
drawRect.setHeight(drawGroup.getHeight());
drawRect.setKnobs(KnobType.RESIZE);
com.smartgwt.client.widgets.drawing.events.Resized Handler rh =
new com.smartgwt.client.widgets.drawing.events.Resized Handler() {
public void onResized(com.smartgwt.client.widgets.drawing.even ts.ResizedEvent re) {
// Set size of the group
DrawRect rect = (DrawRect)re.getSource();
DrawGroup dg = rect.getDrawGroup();
dg.moveBy(rect.getLeft() - dg.getLeft(), rect.getTop() - dg.getTop());
dg.setWidth(rect.getWidth());
dg.setHeight(rect.getHeight());
//SC.say("draw rect resized moved - left = " + dg.getLeft() + " top = " + dg.getTop() + " width " + dg.getWidth() + " height " + dg.getHeight() + " rect resized moved left = " + rect.getLeft() + " top = " + rect.getTop() + " width " + rect.getWidth() + " height " + rect.getHeight());
}
};
drawRect.addResizedHandler(rh);
// Add to group
drawRect.setDrawGroup(drawGroup);
drawRect.draw();

drawPane.draw();


}

Viewing all articles
Browse latest Browse all 4756

Trending Articles