Commit Graph

167 Commits

Author SHA1 Message Date
Manolo Gouy
74720fd205 Mac OS: better window positioning on secondary displays at creation.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9176 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-11-14 15:15:03 +00:00
Manolo Gouy
409afd29cc Mac OS: more accurate definition of the Window system-specific type.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9170 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-11-12 13:06:54 +00:00
Manolo Gouy
0cf73d4603 Mac OS: simpler processing of window closing events.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9161 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-30 17:23:42 +00:00
Manolo Gouy
8ff32e11d6 Mac OS: fixed the setting of the key window after a window is closed.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9154 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-27 19:41:54 +00:00
Manolo Gouy
353f59a0ce Mac OS: restore the focus to the top FLTK window after closing the window opened by the
"About ..." item of the application menu. This issue appeared with OS X 10.7.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9152 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-26 12:42:41 +00:00
Manolo Gouy
8c552b377d Fl_cocoa.mm: removed useless fl_screen global variable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9147 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-26 09:12:33 +00:00
Manolo Gouy
81fcaed456 Mac OS: the procedure used to restore visible focus to a window after using an Fl_Native_File_Chooser
window failed under OS X 10.7. It's replaced by a simpler, OS version-independent procedure.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9144 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-22 15:12:57 +00:00
Manolo Gouy
0ba6c0e381 Simplified window positioning on main screen.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9135 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-18 12:18:22 +00:00
Manolo Gouy
55b744c225 When several screens, allow creation of window on secondary screen by Fl_Window::Fl_Window(x,y,w,h,title).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9134 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-18 11:46:29 +00:00
Manolo Gouy
9f15516f5e Mac OS: don't generate an FL_SCREEN_CONFIGURATION_CHANGED event at application startup.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9131 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-12 12:38:32 +00:00
Manolo Gouy
2df4196d8b About STR#2600 : some code factorization.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9101 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-30 13:09:06 +00:00
Matthias Melcher
00e8e44cf4 OSX: Fixed screen updates durin DND operations
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9090 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-30 09:38:35 +00:00
Manolo Gouy
c029bba113 Fix STR#2600 for the MSWindow and Mac OS platforms.
A new event FL_SCREEN_CONFIGURATION_CHANGED is introduced.
Fl::add_handler() allows to register a callback for this event.
The unix/X11 implementation is still missing.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9087 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-30 08:03:22 +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
Manolo Gouy
0faba4e3cb Mac only: further fine tuning in clipping/rectf needed for scroll demo after changes in r.9050.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9074 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-28 09:07:50 +00:00
Manolo Gouy
bdb000bf2f Mac OS: simplified use of CGRectMake() for rectangle drawing and clipping on display and printer.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9050 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-19 19:03:22 +00:00
Manolo Gouy
58076d7a26 Mac OS: - Correct application hiding when modal or menu window is on.
- Removed useless FL_FOCUS events when unhiding application.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9034 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-13 13:03:07 +00:00
Manolo Gouy
8c6aad459d Mac OS: center on page the "Print Front Window" application menu command.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9032 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-08 08:09:20 +00:00
Manolo Gouy
21ddc8900c Before deleting a window, it's better to check whether it contains the currently focused NSView,
and unlock focus there.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9026 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-02 12:15:43 +00:00
Manolo Gouy
5b98e80a4f Mac OS: Greatly simplified the open document handler.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8865 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-19 13:26:52 +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
b2561363f7 Mac OS: fix STR #2666 allowing to display copyright info in the default About window.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8852 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-11 14:53:07 +00:00
Manolo Gouy
264c73c9ab Mac OS: added missing lock/unlock pairs when running system menu items.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8851 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-11 13:52:16 +00:00
Manolo Gouy
20ab9c3c33 Mac OS: Added missing lock/unlock calls in Fl_Paged_Device::print_window().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8849 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-11 09:45:21 +00:00
Manolo Gouy
3bc8713bac Fl_Paged_Device::print_window() now works with any output surface on Mac platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8846 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-04 15:07:22 +00:00
Manolo Gouy
0b784cc90f Arguments x_offset & y_offset of function Fl_Paged_Device::print_window() were partially
ignored by the Mac version.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8845 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-04 13:54:43 +00:00
Manolo Gouy
598057f079 Fix STR #2665: Mac OS: use bundle name when available.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8807 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-06-16 12:35:32 +00:00
Manolo Gouy
82e53806aa Fix STR #2664.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8806 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-06-16 11:13:59 +00:00
Manolo Gouy
965e81fc87 Fixes bug entitled "Fl::event_text() omitted for keyups?" in fltk.development.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8773 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-06-03 09:12:07 +00:00
Manolo Gouy
bd1e9c8ca3 Fix STR #2652: Mac OS-specific bug in Fl::remove_fd().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8771 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-31 11:20:52 +00:00
Manolo Gouy
18a902ca31 Fix Fl_Paged_Device::print_window(), Fl_Window::decorated_w() and Fl_Window::decorated_h()
when the window is iconized for all platforms.
Also, factorized some duplicated code in src/Fl_x.cxx.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8759 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-30 12:33:51 +00:00
Manolo Gouy
695613433a Fix STR #2635 for Mac OS: allow fl_xid() even if window is not yet shown.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8708 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-21 21:31:35 +00:00
Manolo Gouy
a64c0dc9f3 Mac OS: implemented the effect of the 2nd arg of Fl_Window::label(label, iconlabel) - continued.
Now works also if called before the window is shown().

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8665 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-15 12:34:31 +00:00
Manolo Gouy
9e1a7079c3 Mac OS: implemented the effect of the 2nd arg of Fl_Window::label(label, iconlabel)
that sets the window name when it is iconized (or minimized).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8664 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-15 09:42:36 +00:00
Manolo Gouy
4ee9b8d7aa Fix for STR #2629: remove beep when typing cmd-<key> under Mac OS.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8660 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-13 11:05:00 +00:00
Manolo Gouy
bcdf4a4be1 Mac OS: simplified by removing Fl_X::contains_GL_subwindow() function.
This operation is now performed within Fl_cocoa.mm

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8657 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-12 11:50:43 +00:00
Manolo Gouy
bcbb26d5e7 On Mac OS, allow creation of a window in a minimized form.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8654 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-11 18:31:28 +00:00
Manolo Gouy
80ea4bcde6 Restoring correct keyboard handling under Mac OS X 10.5.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8642 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-07 13:45:42 +00:00
Manolo Gouy
ae8d142ed0 Corrected spurious FL_NUMLOCK setting.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8628 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-29 20:25:04 +00:00
Manolo Gouy
73a6f06c34 Reorganized keyboard input-handling code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8626 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-27 11:21:57 +00:00
Manolo Gouy
65b9610a96 Mac OS: exact implementation of the Fl::screen_dpi() function.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8619 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-22 17:30:37 +00:00
Manolo Gouy
ad50b753be Added fallback mechanism if malformed UTF-8 is used for a window title.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8608 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-19 12:37:20 +00:00
Manolo Gouy
d4685c13ef Misc code cleaning.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8607 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-19 08:22:05 +00:00
Manolo Gouy
619cb25982 Mac OS: The Fl_mac.cxx test
if (winclass != kHelpWindowClass)
is now replaced in Fl_cocoa.mm by its exact equivalent:
  if ( w->border() || (!w->modal() && !w->tooltip_window()) )
so that tooltip windows are handled as in carbon.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8601 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-18 08:18:16 +00:00
Manolo Gouy
8f59684c0f Mac OS: Fixed bug where an application could be left with only a tooltip window opened.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8599 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-17 19:58:31 +00:00
Ian MacArthur
d77223ea58 A quick hack to prevent the OSX tooltip-crash on
badly formed UTF8 strings.

This probably is not the best solution, but it
does work.
Note that the problem actually seems to be in
setting the window title, and indeed if you try to
label ANY window with a badly formed UTF8 string
(not just a tooltip) you get the same exception
thrown.

NOTE: I'm not even sure why we try to set the 
window title in tooltips, as it is never used 
and the tooltip label itlsef still works fine.

Anyway, we can do something better, but this will
work for now.

Aside: If you close an app on OSX whilst a tooltip
is visible, the app will not exit, as there is still
a window open (the tooltip) but no way to cancel
the tooltip.

Don't know if this is OSX specific or not though
but it is certainly a bug.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8598 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-17 14:39:16 +00:00
Manolo Gouy
9ff9cf1230 Added Fl_Paged_Device::print_window() to print a window with its title bar and frame.
Added Fl_Window::decorated_w() and Fl_Window::decorated_h() that return the size
of a window with its title bar and frame.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8593 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-15 21:38:05 +00:00
Manolo Gouy
f7c2061f0c Improved the accuracy of clipping when printing on Mac OS.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8586 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-13 20:50:41 +00:00
Manolo Gouy
639ee4fbab Now sends FL_HIDE/FL_SHOW events when window is iconized/un-iconized.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8584 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-13 09:03:19 +00:00
Manolo Gouy
404a7c1bad Restores change made in r.8557 that blocked system menu shortcuts.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8583 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-12 20:15:10 +00:00