Commit graph

547 commits

Author SHA1 Message Date
Gregory John Casamento
d41635855f Force tabViewType to be something we support. To be fixed in a later branch to add other renderings for tabview since this branch is specific to controllers 2020-07-26 05:37:25 -04:00
Gregory John Casamento
73b03350b6 Remove comments and make improvements to code suggested by fred 2020-07-06 04:40:36 -04:00
Gregory John Casamento
11b5b4d2d6 Add proxy objects to perform segue 2020-07-02 13:24:48 -04:00
Gregory John Casamento
562e1868b3 Add setIsVisible method. It is 10.0 and was missing for some reason. 2020-06-24 11:13:38 -04:00
fredkiefer
db28f7b420 Small formatting changes, but plenty of these. 2020-05-16 00:15:38 +02:00
fredkiefer
be12d7bd1e * Source/NSWindow.m (-makeFirstResponder, -sendEvent:): Correct
handling of new first responder not becoming first responder.
Patch suggested by Josh Freeman <pikopixel@twilightedge.com>.
2020-05-14 23:10:43 +02:00
fredkiefer
cad8383e62 * Source/NSWindow.m (-initWithContentRect:...defer:): Call
setFrame:display: to ensure the minium and maximum size gets enforced.
* Source/NSFont.m (-description): Add this method.
2020-05-08 22:41:09 +02:00
Sergii Stoian
a61aa9f68f * Source/NSWindow.m (_applyFrame:): new helper method to do actual
resizing and repositionning.
  (setFrame:display:): use _applyFrame method.
  (applicationDidChangeScreenParameters:): use _applyFrame: method.
2020-03-05 23:27:31 +02:00
Sergii Stoian
96a3579e98 * Source/NSWindow.m (applicationDidChangeScreenParameters:):
Call backend's `placewindow::` directly because our origin in OpenStep
  coordinates might left unchanged and `setFrame:display:` has check
  for it.
2020-03-05 02:21:26 +02:00
Sergii Stoian
6d4afe9678 Merge branch 'master' into randr
Conflicts:
	ChangeLog
2020-03-05 02:19:23 +02:00
Sergii Stoian
fcbb4d704b * Source/NSWindow.m (center): always center window on main screen -
monitor where user expects to see window.
2020-02-28 02:18:20 +02:00
Sergii Stoian
f460e3f875 * Source/NSWindow.m (sendEvent:): removed usage of extra local variables
in GSAppKitWindowMoved code block.
2020-02-26 02:05:34 +02:00
Sergii Stoian
fe5616f5e1 * Source/NSWindow.m
(applicationDidChangeScreenParameters:): quit while loop after
  screen was found.
  (sendEvent:): use `_screen` ivar to get screen befor frame change.
2020-02-23 23:26:18 +02:00
Sergii Stoian
533be55806 * Source/NSWindow.m (setFrame:display:): use _screeForFrame: here
to prevent `_screen` reassign -  it will be reassigned in
  sendEvent: (GSAppKitWindowMoved event) after call to [self screen].
  (setFrameFromString:): removed unused code because _screenForFrame:
  never returns `nil`. Do not reassign `_screen` here.
2020-02-13 18:30:04 +02:00
Sergii Stoian
381c24cdf4 * Source/NSWindow.m (processEvent:): notification moved back here from
`screen` method. Placing posting notification into `screen` method
  is unreliable/dangerous - notification observer may call [NSWindow screen]
  which results in notification posting loop.
2020-02-12 13:55:15 +02:00
Sergii Stoian
4c531f04bc * Source/NSWindow.m (processEvent:): posting notification
NSWindowDidChangeScreenNotification moved into `screen`
  method.
2020-02-12 13:08:58 +02:00
Sergii Stoian
2a1b9d4d54 * Source/NSWindow.m (sendEvent:): set current screen to ivar and
send WindowDidChangeScreen notification if window was moved to other
  screen.

* Source/NSScreen.m (mainScreen): returns screen of main menu if no
  key window exists. With this implementation default screen (screen at
  index 0 in screens array) should never be returned.

* Source/NSMenu.m (initWithTitle:): observe WindowDidBecomeKey and
  WindowDidChangeScreen notifications.
  (windowDidChangeScreen:): new method to handle observed notification
  added above. Moves menu to screen of key window for both cases: when
  key window moved to or activated on different screen.
2020-02-12 01:46:17 +02:00
Sergii Stoian
1146f35276 * Source/NSWindow.m (applicationDidChangeScreenParameters:): use enumerator
to go through the list of screens. Removed commented out debug output.
2020-01-28 12:15:39 +02:00
Sergii Stoian
a4174f2838 * Source/NSWindow.m (applicationDidChangeScreenParameters): take into
account screen origin change during window position recalculation.

* Source/NSScreen.m (dealloc): debug output was removed.
2020-01-27 00:47:08 +02:00
Sergii Stoian
d4ea1a490f * Source/NSWindow.m (initWithContentRect:styleMask:backing:defer:):
added observer of NSApplicationDidChangeScreenParametersNotification.
  (applicationDidChangeScreenParameters:): callback for added notification -
  updates window position, set new screen object and saves frame if
  autosave name exists.

* Source/NSScreen.m (initialize): remove observer of
  NSApplicationDidChangeScreenParametersNotification - NSScreen shouldn't
  do it. Backend explicitely calls -resetScreens before posting notification.
  (_initWithScreenNumber:): ditto.
  (_resetScreens): removed.
  (deviceDescription): removed duplicated addition of NSDeviceSize object.

* Source/NSApplication.m (finishLaunching): remove observer of
  NSApplicationDidChangeScreenParametersNotification.
2020-01-26 03:13:16 +02:00
Sergii Stoian
e5a7cba164 * Source/NSWindow.m
(initialize): use MiniWindowTile image for miniwindow tile.
(drawRect:): adjusted position of title cell to fit tile image.
(setTitle:): disable drawing of title cell background;
use NSMiniControlSize font size for miniwindow title cell.

* Source/NSFont.m (systemFontSizeForControlSize:): increased default font
size for NSMiniControlSize.
2019-12-11 14:30:44 +02:00
Sergii Stoian
f018c2087b Added support for WindowMaker's WMFHideApplication action. 2019-04-05 14:07:33 +03:00
fredkiefer
7270f8efc7 Add new backingScaleFactor method on NSScreen. 2017-12-03 22:02:06 +01:00
fredkiefer
e3d51643ca Protect against [window screen] returning nil. 2017-10-05 23:05:28 +02:00
Daniel Ferreira
3e9cdce801 NSWindow: add stub for +windowNumberAtPoint:belowWindowWithWindowNumber:
Add stub for +[NSWindow windowNumberAtPoint:belowWindowWithWindowNumber:]
for compatibility purposes.
2017-08-27 01:42:00 +01:00
Daniel Ferreira
4f4db46c87 NSWindow: add stub for -backingScaleFactor
Add stub for -[NSWindow backingScaleFactor] for compatibility purposes.
2017-08-27 01:42:00 +01:00
Daniel Ferreira
07d0f2002f NS{Application,Window}: define modal constants
Define constants and stubs related to modal sheets in GUI for increased
compatibility.
2017-08-27 01:42:00 +01:00
Fred Kiefer
2f2bda5aa4 * Source/NSWindow.m (NSMiniWindowView -setImage:): Try to handle
an image value of nil. This is needed for Emacs.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@40168 72102866-910b-0410-8b05-ffd578937521
2016-10-23 20:36:14 +00:00
Fred Kiefer
810192f7e5 Small correction of last change.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@39129 72102866-910b-0410-8b05-ffd578937521
2015-11-03 08:15:02 +00:00
Fred Kiefer
b76a7b9593 * Source/NSWindow.m (-constrainFrameRect:toScreen:) Handle
screen being nil and resize only if moving is not enough.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@39126 72102866-910b-0410-8b05-ffd578937521
2015-11-02 21:14:11 +00:00
Riccardo Mottola
3ff8c0a8d7 fix spelling to american English
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@39101 72102866-910b-0410-8b05-ffd578937521
2015-10-28 01:49:12 +00:00
Riccardo Mottola
7a251b66ec Constants and methods for Expose and other features we don't have and perhaps never will
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@38942 72102866-910b-0410-8b05-ffd578937521
2015-08-28 22:39:48 +00:00
Gregory John Casamento
4213323979 Add more theme methods for theming windows.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@38687 72102866-910b-0410-8b05-ffd578937521
2015-06-26 00:13:05 +00:00
Sebastian Reitenbach
8060ece175 abs() -> fabs()
OK Fred Kiefer



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@38572 72102866-910b-0410-8b05-ffd578937521
2015-05-26 17:57:19 +00:00
Germán Arias
b0ab141b9a Fix tooltips issue with a change suggested by Fred.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@38262 72102866-910b-0410-8b05-ffd578937521
2014-12-26 07:59:29 +00:00
Gregory John Casamento
06f21dcd0d Change -[NSWindow constrainFrameRect:toScreen:] to correct x origin if needed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@38046 72102866-910b-0410-8b05-ffd578937521
2014-08-18 16:16:52 +00:00
Gregory John Casamento
493e34b57e Remove uneeded code from NSWindow in initWithContentRect:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@38013 72102866-910b-0410-8b05-ffd578937521
2014-07-25 11:32:54 +00:00
Fred Kiefer
59b1180d27 * Source/GSXibLoader.m (-awake:inContainer:withContext:): Allow
for subclasses of NSApplication as rootObjects.
        Based on patch by Marcian Lytwyn <gna@advcsi.com>.
        * Source/NSWindow.m (-userSpaceScaleFactor): Handle case where
        _screen is nil.
        Patch by Doug Simons (dsimons@testplant.com).
        * Source/NSWindow.m (-_screenForFrame:): Require real overlapp.
        Patch by Doug Simons (dsimons@testplant.com).
        * Source/NSTextField.m (-textDidChange:): Improve editing
        behavior when formatter returns a new string.
        Patch by Doug Simons (dsimons@testplant.com).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37830 72102866-910b-0410-8b05-ffd578937521
2014-05-03 21:45:47 +00:00
Fred Kiefer
dcb4ac58f2 * Source/NSWindow.m: (-setFrame:): Revert last change.
* Source/NSWindow.m: (-encodeWithCoder:, -initWithCoder:): Use
  content min/max size instead of min/max size.
* Source/NSWindow.m: (+initialize): Increase version number to 3.
* Source/GSNibLoading.m (NSWindowTemplate -encodeWithCoder:,
  -initWithCoder:): Use NSWindowContentMinSize/NSWindowContentMaxSize
  instead of NSMinSize/NSMaxSize.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37828 72102866-910b-0410-8b05-ffd578937521
2014-05-03 18:32:20 +00:00
Gregory John Casamento
0b26fec21a Fix for issue with resize when using in-window menus.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37698 72102866-910b-0410-8b05-ffd578937521
2014-02-20 23:49:37 +00:00
Germán Arias
26a36530a1 Set _lastPoint only for mouse entered events.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37398 72102866-910b-0410-8b05-ffd578937521
2013-11-22 19:21:02 +00:00
Germán Arias
c713f8cb04 Fix last commit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37215 72102866-910b-0410-8b05-ffd578937521
2013-10-09 19:45:55 +00:00
Germán Arias
123703e8e1 Send events mouse entered only if the cursor rectangle is valid.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37214 72102866-910b-0410-8b05-ffd578937521
2013-10-09 19:07:36 +00:00
Germán Arias
a0f6ce809f Set _lastPoint after update the cursor in NSWindow.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37213 72102866-910b-0410-8b05-ffd578937521
2013-10-09 18:52:39 +00:00
Fred Kiefer
9ad339a73a * Headers/Additions/GNUstepGUI/GSDisplayServer.h
* Source/GSDisplayServer.m: Add new method -_printEventQueue.
* Source/NSWindow.m (-_checkCursorRectangles:forEvent:): Replace
  hack with proper functions that handle cursor rectangles.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37026 72102866-910b-0410-8b05-ffd578937521
2013-08-30 11:27:10 +00:00
Fred Kiefer
aa9d40fcfd * Source/NSCursor.m (-mouseEntered:, -mouseExited:):
Add better debug output.
* Source/NSWindow.m (-_checkCursorRectangles:forEvent:): Add
hack that updates cursor rectangles more correctly.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37022 72102866-910b-0410-8b05-ffd578937521
2013-08-27 21:00:42 +00:00
Fred Kiefer
32299abf5b * Headers/Additions/GNUstepGUI/GSDisplayServer.h
* Source/GSDisplayServer.m: Add new method -setIgnoreMouse::
        * with
        empty implementation.
        * Source/NSWindow.m (-setIgnoresMouseEvents:): Use this new
        * method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36854 72102866-910b-0410-8b05-ffd578937521
2013-07-08 20:42:49 +00:00
Germán Arias
34d629e05a Improvements to handle cursors.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36802 72102866-910b-0410-8b05-ffd578937521
2013-07-02 16:57:54 +00:00
Gregory John Casamento
f14cc1f3bc * Headers/AppKit/NSPopover.h: correct delegate method
for popoverShouldClose:
	* Headers/AppKit/NSWindow.h: add convertRectToScreen: and
	convertRectFromScreen: methods.
	* Source/NSPopover.m: Correct delegate method for popoverShouldClose:.
	Changes to align popover window with rect it is being placed relative
	to.
	* Source/NSWindow.m: implementation of convertRectToScreen: and
	convertRectFromScreen: methods.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36577 72102866-910b-0410-8b05-ffd578937521
2013-04-24 09:25:56 +00:00
Fred Kiefer
ae607757b3 * Source/NSindow.m (-setDelegate:): Don't unregister delegate
notifications if same delegate is set twice.
        Patch by Doug Simons <doug.simons@testplant.com>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36192 72102866-910b-0410-8b05-ffd578937521
2013-02-23 15:36:46 +00:00