This is the first commit for dynamic toolbars. The methods that actually do toolbar manipulation are hidden behind #ifdef debug's for now.
This should not hold up the 0.9.5 release but it would be fun to get it in. What you can do now: For the GTK build if you hold down the right mouse button on a toolbar icon you can drag it to a new location on the same or another toolbar and it will appear there. You can only move active toolbar icons. icons that are greyed out cannot be dragged about yet. The old icon will be removed from it's old spot as soon as you drag the cursor point out of the icons location box. What is not done yet: 1. No nice little icon attached to the mouse pointer. 2. No way to completely remove an icon from a toolbar. If you drag an icon off into space it will reappear when you click on an existing toolbar. 3. Can't move a combo box. 4. Can't move a greyed icon. 5. Left mouse button works just like right mouse button. 6. Only for gtk build. I think I will have to implement an (x,y) map of cursor position to icon location and use the gtk drag and drop mechanism to fix these issues. This will take some time so I thought I'd commit this code so people can have fun and see we're headed. If people know how to fix these issues please feel free to do so :-) AbiWord is the first Unix application I know of to have dynamic toolabrs :-) See http://seviorpc.ph.unimelb.edu.au/abiword/dynamic_toolbars.png For a radically altered toolbar layout. I don't anybody will want to use abiword like that! Cheers Martin CVS: ---------------------------------------------------------------------- CVS: Enter Log. Lines beginning with `CVS:' are removed automatically CVS: CVS: Committing in . CVS: CVS: Modified Files: CVS: src/af/ev/unix/ev_UnixToolbar.cpp CVS: src/af/ev/unix/ev_UnixToolbar.h src/af/ev/xp/ev_Toolbar.cpp CVS: src/af/ev/xp/ev_Toolbar_Layouts.cpp CVS: src/af/ev/xp/ev_Toolbar_Layouts.h CVS: src/af/xap/unix/xap_UnixFrame.cpp CVS: src/af/xap/unix/xap_UnixFrame.h src/af/xap/xp/xap_App.cpp CVS: src/af/xap/xp/xap_App.h src/af/xap/xp/xap_Frame.cpp CVS: src/af/xap/xp/xap_Frame.h src/af/xap/xp/xap_Toolbar_Layouts.h CVS: src/wp/ap/xp/ap_Menu_Id.h src/wp/ap/xp/ap_Menu_Layouts.cpp CVS: src/wp/ap/xp/ap_Toolbar_Layouts.cpp CVS: ---------------------------------------------------------------------- Alpha version of dynamic toolbars. For Gtk only at this point.
