| Delete action/button is dissabled [message #227270] | 
Fri, 01 December 2006 06:20   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Originally posted by: vikas.khengare.unnat-e.com 
 
Hi friends, 
 
I have put following code in "MultiPageEditorContributor", This is showing 
me undo & redo functionality clear. 
But for delete action "Delete" button icon is always disabled and not 
performing any thing. 
It is not enabling even single time. 
 
1) Do I need to handle some thing for delete in "Command" where I have 
handled for Undo & Redo? 
2) Am I missing something in coding? what? 
3) Do I need to do something with ActionRegistry / getActionRegistry? 
 
public void contributeToToolBar(IToolBarManager manager) { 
   manager.add(getActionRegistry().getAction(ActionFactory.UNDO .getId())); 
   manager.add(getActionRegistry().getAction(ActionFactory.REDO .getId())); 
  manager.add(new Separator()); 
 
  manager.add(getActionRegistry().getAction(ActionFactory.DELE TE.getId())); 
 } 
 
protected void buildActions() { 
  addRetargetAction(new UndoRetargetAction()); 
  addRetargetAction(new RedoRetargetAction()); 
  addRetargetAction(new DeleteRetargetAction()); 
 } 
 
--  
With best regards 
 
From 
Vikas R. Khengare
 |  
 |  
  | 
 | 
| Re: Delete action/button is dissabled [message #227367 is a reply to message #227339] | 
Mon, 04 December 2006 04:10    | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Originally posted by: vikas.khengare.unnat-e.com 
 
Hi friends 
 
Thanks alex for your reply. 
I have enabled delete button on right click by following code 
 
public void buildContextMenu(IMenuManager menu) 
{ 
action =  getActionRegistry().getAction(ActionFactory.DELETE.getId()); 
action.setEnabled(true); 
if (null != action && action.isEnabled()) 
 menu.appendToGroup(GEFActionConstants.GROUP_EDIT, action); 
} 
 
But still now also it is not performing any action. It is not creating 
command. 
It is not calling "getCommand()" even. 
 
In Edit Part; I worte ... 
protected void createEditPolicies() { 
installEditPolicy(EditPolicy.COMPONENT_ROLE, new RectangleEditPolicy()); 
} 
 
In "RectangleEditPolicy" class I wrote 
class RectangleEditPolicy extends ComponentEditPolicy{ 
 
  public Command getCommand(Request request) { 
  System.out.println(request.getType()); 
  return super.getCommand(request); 
 } 
} 
 
But this is not calling getCommand() method. 
 
Can Someone help me in this scenario? 
Note : 1] This is MultiPageEditor 
           2] Where my main editor class extends GraphicalEditor 
--- 
With best regards 
 
From 
Vikas R. Khengare 
 
"Alex Boyko" <aboyko@ca.ibm.com> wrote in message 
news:179dd5c5ce95617b1d2633657335bcc9$1@www.eclipse.org... 
> Hi Vikas, 
> 
> It seems to me that you're trying to add GEF's retarget actions to a 
> Multipage editor, which is not a GEF application. There is no need to add 
> GEF's actions to it... you can simply add to tool bar actions defined for 
> text editors already. GEF's actions won't work there correctly anyway. 
> I've tried to do the following in setActivePage(IEditorPart) method inside 
> if (actionBars != null) block: 
> 
> 
 actionBars.getToolBarManager().add(getAction(editor,ITextEdi torActionConstan 
ts.UNDO)); 
> 
 actionBars.getToolBarManager().add(getAction(editor,ITextEdi torActionConstan 
ts.REDO)); 
> 
 actionBars.getToolBarManager().add(getAction(editor,ITextEdi torActionConstan 
ts.DELETE)); 
> 
> This is merely an example, I'm not 100% sure that that is the right place 
> to put those 3 lines in. Try posting this question on Eclipse PDE 
> newsgroup. 
> Hope this helps. 
> 
> Cheers, 
> Alex 
> 
>
 |  
 |  
  | 
 | 
 | 
| Re: Delete action/button is dissabled [message #227428 is a reply to message #227398] | 
Tue, 05 December 2006 04:34   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Originally posted by: vikas.khengare.unnat-e.com 
 
hi alex / other friends, 
 
I got the solution ....... I haven't override init() methods of 
GraphicalEditor class. 
 
Hope so this was missing ....... right alex? 
 
--  
With best regards 
 
From 
Vikas R. Khengare 
 
"Vikas" <vikas.khengare@unnat-e.com> wrote in message 
news:el2vob$m41$1@utils.eclipse.org... 
> Hi Alex & other friends 
> 
> I have done that already ... in class "MultiPageEditorContributor extends 
> ActionBarContributor" 
> 
> public void contributeToToolBar(IToolBarManager manager) 
> { 
> 
>  manager.add(getActionRegistry().getAction(ActionFactory.DELE TE.getId())); 
>     // same for Undo & Redo 
> } 
> protected void buildActions() 
> { 
>     addRetargetAction(new DeleteRetargetAction()); 
>     // same for Undo & Redo 
> } 
> protected void declareGlobalActionKeys() 
> { 
>     addGlobalActionKey(ActionFactory.DELETE.getId()); 
>     addGlobalActionKey(ActionFactory.UNDO.getId()); 
>     addGlobalActionKey(ActionFactory.REDO.getId()); 
> } 
> 
> As I told you I wrote ...... I wrote every thing ....... 1] Context menu 
2] 
> Installed EditPolicy in edit Part 3] Actual EditPolicy class 
> 
> public void buildContextMenu(IMenuManager menu) 
> { 
> action =  getActionRegistry().getAction(ActionFactory.DELETE.getId()); 
> action.setEnabled(true); 
> if (null != action && action.isEnabled()) 
>  menu.appendToGroup(GEFActionConstants.GROUP_EDIT, action); 
> } 
> 
> But still now also it is not performing any action. It is not creating 
> command. 
> It is not calling "getCommand()" even. 
> 
> In Edit Part; I worte ... 
> protected void createEditPolicies() { 
> installEditPolicy(EditPolicy.COMPONENT_ROLE, new RectangleEditPolicy()); 
> } 
> 
> In "RectangleEditPolicy" class I wrote 
> class RectangleEditPolicy extends ComponentEditPolicy 
> {    public Command getCommand(Request request) { 
>           System.out.println(request.getType()); 
>           return super.getCommand(request); 
> }} 
> 
> But this is not calling getCommand() method. 
> 
> What's the wrong ? 
> 
> --  
> With best regards 
> 
> From 
> Vikas R. Khengare 
> 
> "Alex Boyko" <aboyko@ca.ibm.com> wrote in message 
> news:2deda39a1ce6b9e0fb084e79e9eff68f$1@www.eclipse.org... 
> > Hi Vikas, 
> > 
> > Your retarget delete action does not have a handler - the actual 
> > DeleteAction that will create and execute the command. So your retarget 
> > delete action is not doing anything at the moment. 
> > 
> > Try doing the following in your action bar contrubutor class, where you 
> > contribute actions to tool bars and menus: 
> > 
> > protected void declareGlobalActionKeys() { 
> >     addGlobalActionKey(ActionFactory.DELETE.getId()) 
> > } 
> > 
> > You're adding Undo and Redo global key handlers somewhere right now, 
> > either in the action bar contributor or the editor's class in init() 
> > method. Insert the global key handler for delete in the same place. 
(This 
> > is how it's done in the Logic example editor) 
> > Hope this helps. 
> > 
> > Cheers, 
> > Alex 
> > 
> 
>
 |  
 |  
  | 
Powered by 
FUDForum. Page generated in 0.09253 seconds