Commit Graph

126 Commits

Author SHA1 Message Date
Manolo Gouy
a59a3d29ff Fixed a menu-positioning problem where a menu window could appear on another 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
2014-06-28 12:29:51 +00:00
Albrecht Schlosser
3b8e4b9e9c Removed unnecessary drawing calls (STR #2898)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9738 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-12-07 16:29:49 +00:00
Fabien Costantini
8809c5d65d Fixed build error in msvs because Fl ref to FULLSCREEN enum was not 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
2012-04-05 05:12:30 +00:00
Manolo Gouy
c78bc79001 Fix STR #2770: menubar menus have problems near screen edges.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9183 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-11-22 16:58:19 +00:00
Manolo Gouy
d9cda5c3aa Fix STR#2695 & 2697: correct computation of work areas with multiple screens.
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-29 16:04:24 +00:00
Matthias Melcher
8f41d85454 STR 2711: fixed radio menu button drawing.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9071 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-28 03:35:51 +00:00
Manolo Gouy
2beb43cf85 Fix STR #2695 (continued). Use of Fl::x() is appropriate only under Mac OS.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8935 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-08-08 15:24:19 +00:00
Manolo Gouy
de0be01e23 Fix STR #2695: to scroll menus properly, use Fl::x(),y(),w() and h() 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-08-08 10:07:03 +00:00
Albrecht Schlosser
2d52aebc6d Fixed Fl_Menu issue with unusual menu flags (STR #2680).
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-20 13:50:15 +00:00
Greg Ercolano
4f4a8fc3c7 Modifications to all LGPL headers for STR #2685.
(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-07-19 04:49:30 +00:00
Manolo Gouy
f5de82aac5 Fix STR #2654.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8775 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-06-03 14:07:52 +00:00
Manolo Gouy
f9a2d65bb3 Fix STR #2619. An extra FL_MOVE event is sent on X11 after the menu item is selected
by the keyboard. 

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8641 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-07 07:15:39 +00:00
Manolo Gouy
26f81a4834 Fix STR #2613. Allows a menu item to be invisible but with functional shortcut
as authorized by the doc.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8639 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-06 16:29:16 +00:00
Manolo Gouy
14839338ec Fix STR #2616. This is a very indirect consequence of the fix made for STR #2594
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-05-01 20:02:47 +00:00
Manolo Gouy
aa930a6d21 Fix STR #2603: deselected menu item when mouse enters menu bar out from any menu title.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8604 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-18 13:05:08 +00:00
Matthias Melcher
b802aa2ffd #2490: attempt to fix the issue. PLease test on 1.3 w/X11
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8076 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-20 13:59:09 +00:00
Matthias Melcher
e454f97acc Fixed Copyright to 2010.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-28 21:06:39 +00:00
Albrecht Schlosser
2105f203f1 Fixed menu and shortcut handling (STR #2243). This partly reverts the
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-11-11 09:12:05 +00:00
Matthias Melcher
8e30c66a92 Fixed special handling for ISO back-tab keycode (STR #2369)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7779 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-30 19:56:20 +00:00
Matthias Melcher
291faee430 Fixed a bunch of warnings from gcc 4.4.5 . Most of these are parenthesis 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-10-28 18:02:20 +00:00
Matthias Melcher
056cd02b10 Attempt at a better menubar shortct alignment.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7151 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-02-26 13:28:36 +00:00
Albrecht Schlosser
5e21c7ce23 Added new Fl_Window:: flags() and methods:
- 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-08-03 06:26:32 +00:00
Matthias Melcher
ead9c2ce24 Avoiding crashes for recrsive common dialogs (this does not fix the issue at 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-12 20:00:45 +00:00
Greg Ercolano
eb6b632b0a Brace and indent mods for readability..
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6736 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-04-02 01:19:25 +00:00
Albrecht Schlosser
f5d5c97312 fixed a typo
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6712 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-03-22 19:21:34 +00:00
Matthias Melcher
5251b64d57 Changed Copyright in 'src' directory
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-01-01 21:28:26 +00:00
Albrecht Schlosser
26c6437407 Replaced all occurrences of deprecated Fl::release() by Fl::grab(0).
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-11 09:01:04 +00:00
Fabien Costantini
899184656a STR#2086 related Fixes :
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-12-04 17:33:30 +00:00
Matthias Melcher
2ecabfa676 Moved Fl_Preferences documentation to the correct places.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6490 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-31 16:30:07 +00:00
Fabien Costantini
ae697b80b2 Doxygen documentation : took the opportunity to update copyright info as we 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-16 07:26:22 +00:00
Fabien Costantini
d55dfeb5e9 Doxygen documentation. Fixed somes typos and also H4 remanent misplaced tags and comments.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6258 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-15 17:46:42 +00:00
Fabien Costantini
fdcfef214e Doxygen documentation WP7 Done. Fl_Menu_Item was a real pain to doxyfy.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6248 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-15 00:27:28 +00:00
Matthias Melcher
7c8f5cc888 First attempt at consistently using Fl_Font as a type for the font index and 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-04-23 19:09:28 +00:00
Matthias Melcher
ac55d8490c Fixed Tab key to wrap around menu bars (STR #1877)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@6043 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-02-25 13:09:30 +00:00
Matthias Melcher
a1f5426a97 STR #1617: fltkgl.vcproj in the vnet directory had missing closing brackets 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-27 19:23:24 +00:00
Matthias Melcher
c005f9956f Added glut files to vc2005 solution.
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-02-02 15:14:42 +00:00
Matthias Melcher
5f0156cd02 Fixed dismissing buttons in menu bars (STR #1494)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5605 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-01-18 09:30:04 +00:00
Matthias Melcher
67f87f0285 STR #1463, STR #449: Better event mouse handling fixing detached menus and sticky tooltips.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5548 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-11-19 21:04:11 +00:00
Michael R Sweet
3c03eb67a0 More cleanup of GTK+ scheme - menu buttons now use the new look-n-feel,
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-10-03 23:08:49 +00:00
Matthias Melcher
924e8a92d1 Fixed crash on mixed use of keyboard and mouse for Fl_Menu_Button (STR #1356)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5259 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-07-17 20:33:45 +00:00
Matthias Melcher
ec8ab0f22d STR #1322: fixes wrong menutitle position for popup menus. This was 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-06-16 10:42:58 +00:00
Matthias Melcher
094f1b0f7e STR 1213: leaving the area of a menubar when dragging would not cancel out 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-03-27 12:59:49 +00:00
Michael R Sweet
db822d2fd9 Fix menubar menu clicking, so that menu items work again and clicking outside
the menu cancels it.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4766 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-01-17 21:04:55 +00:00
Michael R Sweet
826eb45715 Clicking outside a menu window dismisses it (STR #1144)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4765 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-01-17 15:02:36 +00:00
Michael R Sweet
c1c84a620a Check if the user clicks outside the menu area in the menu bar so that we
don't get stuck with the focus in the menubar.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4764 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-01-17 04:32:51 +00:00
Matthias Melcher
42a6245bdd STR #1109 re-fix: when fixing 1109, I accidentally enabled clicking on grayed out menu items. This commit should fix that an make the menu ignore grayed out items altogether.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4763 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-01-16 23:22:32 +00:00
Matthias Melcher
af80bcf1a4 STR #1109: Klickin on an inactive item would keep the menubar from realizing the end of the pulldown phase and swallow the next click.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4697 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-12-12 23:22:55 +00:00
Michael R Sweet
067d1d8a61 Updated the default label and text colors of all widgets to use
FL_FOREGROUND_COLOR instead of FL_BLACK (STR #1052)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4609 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-10-30 17:42:21 +00:00
Matthias Melcher
60812b2ecc STR #973: popup menus now pop up fully visible in the current screen if possible and useful. In detail, menus in a menubar will pop up above the title if they would cut into the screen bottom. Submenus will show the *last* item to the right of the parent instead of the first. Finally, Pulldowns with title will simply apppera over the title instead of under the title.
There are two exceptions:

Menus that have a selected item will not be modified, so the selected item is visible. Hence an Fl_Choice will never have a 'fixed' menu.

If putting the menu high would intersect the top frame of the screen, we leave the menu at the bottom.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4584 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-09-25 19:04:04 +00:00
Matthias Melcher
2b6586f64d STR #1007: Applied second patch by hand. OP: could you please check if all changes were made correctly? Thanks!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4563 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-09-12 23:03:34 +00:00