summaryrefslogtreecommitdiff
path: root/src/Fl_Menu.cxx
AgeCommit message (Collapse)Author
2016-03-12Add localization of modifier key names in shortcut labels.Albrecht Schlosser
Modifier key names like Alt, Shift, Ctrl, Meta can now be localized by setting global string pointers. See documentation of fl_shortcut_label(). Port branch-1.3, svn r 11321. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11354 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13Details on PORTME items. Move fl_parse_color() to screen drivers.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11163 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-11Mark places that need to be refactored with // PORTME:Matthias Melcher
Searching for __APPLE, WIN32 or X11 did give me many false results. I instead marked most ifdef's that I would like to get rid of with the text // PORTME:, so they can be easily found by a global search. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11155 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-06-15Fix spelling errors and improve documentation.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10759 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-20Documentation: Clarify Fl_Menu_Item::size() docs.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10644 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-29Use Fl::is_scheme() where appropriate.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10542 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-28Fixed a menu-positioning problem where a menu window could appear on another ↵Manolo Gouy
screen than where expected. Occurred when one screen has negative x coordinates. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10211 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-12-07Removed unnecessary drawing calls (STR #2898)Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9738 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-05Fixed build error in msvs because Fl ref to FULLSCREEN enum was not ↵Fabien Costantini
accessible in Fl_Widget. new inline is_fullscreen() getter has been implemented to avoid a build error with (at least) msvc compilers. Fixed a ton of warnings / problems when bilding on windows 64 bits target with ms toolchain. cleaned up about 200 warnings raised when building win74 targets. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9325 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-11-22Fix STR #2770: menubar menus have problems near screen edges.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9183 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-29Fix STR#2695 & 2697: correct computation of work areas with multiple screens.Manolo Gouy
This introduces 3 new functions static void Fl::screen_work_area(X,Y,W,H) static void Fl::screen_work_area(X,Y,W,H,mx,my) static void Fl::screen_work_area(X,Y,W,H,screen_no) that compute screen work areas and are used by FLTK to position menu windows. The Fl::x(),y(),w(),h() functions are made consistent across platforms: they return the origin/size of the work area of the main screen (as far as possible, see below). On the Mac OS platform, all screen functions reflect changes in screen number and positions without requiring the application to restart. On the X11 platform, I did not find an API to compute the main screen work area in all conditions. What's used does compute the correct work area when there's a single screen, but not when there are several, because it returns an area that encompasses all screens. The implemented workaround is that Fl::x(),y(),w(),h() and Fl::screen_work_area(X,Y,W,H,0) return the exact work area when there's a single screen, and return the full screen area when there are several. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9084 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-28STR 2711: fixed radio menu button drawing.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9071 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-08-08Fix STR #2695 (continued). Use of Fl::x() is appropriate only under Mac OS.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8935 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-08-08Fix STR #2695: to scroll menus properly, use Fl::x(),y(),w() and h() ↵Manolo Gouy
functions that return the work area rather than the screen size. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8929 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-20Fixed Fl_Menu issue with unusual menu flags (STR #2680).Albrecht Schlosser
Setting some flags in a terminating Fl_Menu_Item (one with a NULL label/text/name) caused an endless loop. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8866 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-19Modifications to all LGPL headers for STR #2685.Greg Ercolano
(to clarify static exception LGPL by changing license references) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8864 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-06-03Fix STR #2654.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8775 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-07Fix STR #2619. An extra FL_MOVE event is sent on X11 after the menu item is ↵Manolo Gouy
selected by the keyboard. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8641 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-06Fix STR #2613. Allows a menu item to be invisible but with functional shortcutManolo Gouy
as authorized by the doc. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8639 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-01Fix STR #2616. This is a very indirect consequence of the fix made for STR #2594Manolo Gouy
that allowed to set the focus to an Fl_Window. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8631 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-18Fix STR #2603: deselected menu item when mouse enters menu bar out from any ↵Manolo Gouy
menu title. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8604 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-20#2490: attempt to fix the issue. PLease test on 1.3 w/X11Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8076 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-28Fixed Copyright to 2010.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-11Fixed menu and shortcut handling (STR #2243). This partly reverts theAlbrecht Schlosser
fix for STR #2199 - for details see STR #2243. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7816 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-30Fixed special handling for ISO back-tab keycode (STR #2369)Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7779 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-28Fixed a bunch of warnings from gcc 4.4.5 . Most of these are parenthesis ↵Matthias Melcher
missing to make the precedence of && over || obvious. Ah well, why not... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7765 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-02-26Attempt at a better menubar shortct alignment.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7151 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-08-03Added new Fl_Window:: flags() and methods:Albrecht Schlosser
- set_menu_window() to mark a window as a menu window - set_tooltip_window() to mark a window as a tooltip window and the corresponding get methods: - menu_window() - tooltip_window(). This is a first step for providing more information for correct parenting and properties to support modern (X) window managers (STR #2230). Please see also the information in fltk.development: http://www.fltk.org/newsgroups.php?gfltk.development+v:8003 ToDo: Another point is to be able to handle menu windows and popup windows that are opened while a menu is active properly (will follow later). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6841 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-04-12Avoiding crashes for recrsive common dialogs (this does not fix the issue at ↵Matthias Melcher
hand yet) (STR #1986, 2150) / Added menu shortcut alignment for OS X / Fixed bad system menu hadling in OS X (STR #2153) / Fixed File Input mouse pointer dragging (STR #2181) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6757 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-04-02 Brace and indent mods for readability..Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6736 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-03-22fixed a typoAlbrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6712 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-01-01Changed Copyright in 'src' directoryMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-12-11Replaced all occurrences of deprecated Fl::release() by Fl::grab(0).Albrecht Schlosser
Changed files: src/Fl_Menu.cxx (2x) src/fl_show_colormap.cxx (1x) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6577 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-12-04STR#2086 related Fixes :Fabien Costantini
This one was really tough to track, understand: In fact, the problem was comming from the misplacement of the menu window, which itself came from invalid measurement, which itself came from invalid fl_witdh() measurement, but only when fl_gc is not valid because fl_width() relies on Win32 on the call of GetTextExtentPoint32W which can't succeed if the HDC(here fl_gc) is not valid ! Now the fix: A best-effort algorithm has been furthered to supply a valid fltk hdc if we can have one or a screen hdc if no fltk window is found by fl::first_window(). Note that when fl_gc is NULL inside fl_width() call, it can happen that Fl_Window::current() is not null but invalid (already deleted). Finally, in the case of the buggy menu window observed here, this fl_gc was set to NULL just after an Fl_Menu_Window deletion and re-creation in Fl_Menu_Item::pulldown(). Also added a comment to describe the new fl_width() behavior. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6540 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-31Moved Fl_Preferences documentation to the correct places.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6490 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-16Doxygen documentation : took the opportunity to update copyright info as we ↵Fabien Costantini
modified already in batch almost all sources, added also a fil doxygen command to class headers to harmonize with original matt Fl_Widget dox. format. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6265 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-15Doxygen documentation. Fixed somes typos and also H4 remanent misplaced ↵Fabien Costantini
tags and comments. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6258 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-15Doxygen documentation WP7 Done. Fl_Menu_Item was a real pain to doxyfy.Fabien Costantini
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6248 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-04-23First attempt at consistently using Fl_Font as a type for the font index and ↵Matthias Melcher
Fl_Font_Size as a type to measure font height (or rather size). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6113 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-02-25Fixed Tab key to wrap around menu bars (STR #1877)Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@6043 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-02-27STR #1617: fltkgl.vcproj in the vnet directory had missing closing brackets ↵Matthias Melcher
in the XML code. The question remains: who ate the slashes? git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5721 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-02-02Added glut files to vc2005 solution.Matthias Melcher
Fixed popup menus that would not stay popped up when clicke once and the first item was disabled. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5655 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-01-18Fixed dismissing buttons in menu bars (STR #1494) Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5605 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-11-19STR #1463, STR #449: Better event mouse handling fixing detached menus and ↵Matthias Melcher
sticky tooltips. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5548 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-10-03More cleanup of GTK+ scheme - menu buttons now use the new look-n-feel,Michael R Sweet
and I also fixed the radio button offset for the plastic scheme. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5506 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-07-17Fixed crash on mixed use of keyboard and mouse for Fl_Menu_Button (STR #1356)Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5259 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-06-16STR #1322: fixes wrong menutitle position for popup menus. This was ↵Matthias Melcher
originally another fix for pulldown menus (see STR #794, SVN 4259), but had an impact on popups. This fix should work well for both situations. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5204 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-03-27STR 1213: leaving the area of a menubar when dragging would not cancel out ↵Matthias Melcher
the menu selection. This version now deselects a menu if the mouse leaves a menu structure, moving or dragging. This is an extension of the original patch which would file on selecting menu titles, or returning to the previous menu window inside a menu hierarchy. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4866 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-01-17Fix menubar menu clicking, so that menu items work again and clicking outsideMichael R Sweet
the menu cancels it. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4766 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-01-17Clicking outside a menu window dismisses it (STR #1144)Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4765 ea41ed52-d2ee-0310-a9c1-e6b18d33e121