It would be nice if WMTabControlAction.eventCode would report on mouse down events (currently it only has mouse up). This simple addition would enable slick interfaces with drag-n-drop tab reordering.
It would also be really cool to have:
(1) An option to let the text of a tab be user-editable (e.g. by double clicking on it).
(2) An option to show a close (x) mark on the tab with an event linked to clicking on it.
As you can surmise, I've been working on a tabbed browser-style interface. My idea has been to mimic the intuitive functionality of tabbed browsers so that users will instinctively know how to interact with the window. Having these new features would go a long way toward that goal. Right now (1) and (2) are handled by right-clicking (contextual menu) on the tab that you want to edit/close. The functionality requested in the original post is impossible, unless I've overlooked some way to do it with a hook.
Another point just to convince you that this might be worth the coding effort: Tabbed browser-style interfaces can help alleviate window glut in Igor. For instance, one can program an interface that keeps graphs in various tabs of a single panel (reclaim your dock!). It also makes it easy to group data/projects by putting them in their own panels with their own sets of tabs. As I said, that's already possible to do right now, but a couple extra bells and whistles (that probably aren't too hard to implement) could make it a lot nicer.
(1) An option to let the text of a tab be user-editable (e.g. by double clicking on it).
(2) An option to show a close (x) mark on the tab with an event linked to clicking on it.
As you can surmise, I've been working on a tabbed browser-style interface. My idea has been to mimic the intuitive functionality of tabbed browsers so that users will instinctively know how to interact with the window. Having these new features would go a long way toward that goal. Right now (1) and (2) are handled by right-clicking (contextual menu) on the tab that you want to edit/close. The functionality requested in the original post is impossible, unless I've overlooked some way to do it with a hook.
Another point just to convince you that this might be worth the coding effort: Tabbed browser-style interfaces can help alleviate window glut in Igor. For instance, one can program an interface that keeps graphs in various tabs of a single panel (reclaim your dock!). It also makes it easy to group data/projects by putting them in their own panels with their own sets of tabs. As I said, that's already possible to do right now, but a couple extra bells and whistles (that probably aren't too hard to implement) could make it a lot nicer.
November 9, 2014 at 05:52 pm - Permalink