Delete action/button is dissabled [message #227270] |
Fri, 01 December 2006 11: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 09: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 #227398 is a reply to message #227391] |
Tue, 05 December 2006 05:23 |
Eclipse User |
|
|
|
Originally posted by: vikas.khengare.unnat-e.com
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
>
|
|
|
Re: Delete action/button is dissabled [message #227428 is a reply to message #227398] |
Tue, 05 December 2006 09: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.04005 seconds