Commit graph

71 commits

Author SHA1 Message Date
Sergii Stoian
e251c37762 Dismiss the popup after mouse tracking done. This is for the cases when mouse up event occurs outside of popup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@21643 72102866-910b-0410-8b05-ffd578937521
2005-08-16 23:22:38 +00:00
Adam Fedor
a2f3571cfc * Source/NSPopUpButtonCell.m (-setObjectValue:): Use
respondsToSelector.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@21323 72102866-910b-0410-8b05-ffd578937521
2005-06-17 14:55:48 +00:00
Fred Kiefer
8293b1e6a3 Corrected dismissing of popup button cell menu.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@21270 72102866-910b-0410-8b05-ffd578937521
2005-05-30 19:19:42 +00:00
Fred Kiefer
41c3e4644b Make sure popup button cells wont get notifications after being dealloceated.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@21266 72102866-910b-0410-8b05-ffd578937521
2005-05-27 13:41:46 +00:00
Adam Fedor
303dd1baf9 Update FSF Address.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@21259 72102866-910b-0410-8b05-ffd578937521
2005-05-26 02:52:46 +00:00
Fred Kiefer
7084ee0b3b Fixed bug #12680 and further clean up of NSPopupButtonCell.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@21122 72102866-910b-0410-8b05-ffd578937521
2005-04-17 21:25:32 +00:00
Fred Kiefer
f9a7c84e10 Moved mouse interaction of popup button from control to cell.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20719 72102866-910b-0410-8b05-ffd578937521
2005-02-14 18:33:46 +00:00
Alexander Malmberg
490f08fd30 2005-01-24 16:57 Alexander Malmberg <alexander@malmberg.org>
* Source/NSPopUpButtonCell.m (-synchronizeTitleAndSelectedItem): For
	non-pulldowns, make sure the selected item and the highlighted item
	are the same.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20610 72102866-910b-0410-8b05-ffd578937521
2005-01-24 16:14:36 +00:00
Quentin Mathe
28db48ddfd Added performClickWithFrame:inView: to NSCell
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19005 72102866-910b-0410-8b05-ffd578937521
2004-04-02 21:34:37 +00:00
Fred Kiefer
75dc38c6aa Corrected bezel drawing and keyed archiving of popup menu item cell.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18560 72102866-910b-0410-8b05-ffd578937521
2004-02-08 13:07:24 +00:00
Fred Kiefer
da845d0dc4 More keyed decoding.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18541 72102866-910b-0410-8b05-ffd578937521
2004-02-05 00:36:04 +00:00
Fred Kiefer
a8a470ff28 Undid the tracking of changes for the menu item. Changed [dealloc]
to not call clean up methods as these caused segmentation faults
in GNUMail.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17696 72102866-910b-0410-8b05-ffd578937521
2003-09-21 20:57:24 +00:00
Fred Kiefer
06d6e26b2d Corrected bug in previous change. In [itemAtIndex:] the index 0
was handled wrong.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17668 72102866-910b-0410-8b05-ffd578937521
2003-09-14 10:40:06 +00:00
Fred Kiefer
a1b8af9d1e According to Gregory John Casamento <greg_casamento@yahoo.com> the
popup button does not change its enable state when the selected item
does. To adopt this behaviour all setEnable: calls have been
removed and one in [initWithCoder:] added that enables the popup
for all old encodings.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17666 72102866-910b-0410-8b05-ffd578937521
2003-09-14 00:33:05 +00:00
Gregory John Casamento
718622df26 PopUpButtonCell correction for compile error
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17663 72102866-910b-0410-8b05-ffd578937521
2003-09-13 20:59:10 +00:00
Fred Kiefer
aa2a156b1c Undid last change. Rewrote [setMenu:] to make the popup button
cell listen to change notifications of the menu. New method
[itemChanged:] gets called when a menu item changes. Added hack to
[initWithCoder:] to set menu correctly and read old menu items correctly.
Check in [itemAtIndex:] that the index is vaild and return nil
otherwise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17661 72102866-910b-0410-8b05-ffd578937521
2003-09-13 13:39:23 +00:00
Gregory John Casamento
5e2097c086 Correcting an issue with NSPopUpButtonCell
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17635 72102866-910b-0410-8b05-ffd578937521
2003-09-07 16:46:39 +00:00
Fred Kiefer
9aec274300 Overall change to use method calls rather than direct ivar access.
[setMenu:] also call [setMenuView:]. [removeItemWithTitle],
[removeItemAtIndex] and [removeAllItems] make sure that the
selected item ivar gets unset, when this is
removed. [setMenuItem:] overwrite super method to set/unset the
image. [selectItem:] no longer changes the image of this
item. [synchronizeTitleAndSelectedItem] now works on the menu item
not the selected item. [attachPopUpWithFrame:inView:] added
listening for notifications. [dismissPopUp] remove listening for
notifications. Added [performClickWithFrame:inView:] and
[performClick:]. Further simplified [drawInteriorWithFrame:inView:].
[initWithCoder:] made sure that old stored objects still get read
in correctly even if most ivars may be set wrong.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17506 72102866-910b-0410-8b05-ffd578937521
2003-08-20 13:17:08 +00:00
Ludovic Marcotte
45fdc0cdfa Fixed a bug in NSPopUpButtonCell - see the ChangeLog for details.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17418 72102866-910b-0410-8b05-ffd578937521
2003-08-02 14:55:30 +00:00
David Ayers
b18f1c4ac4 Header reorganization - Please refer to ChangeLog
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17408 72102866-910b-0410-8b05-ffd578937521
2003-07-31 23:52:10 +00:00
Richard Frith-Macdonald
5c21d4d3d1 Documentatikon tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17298 72102866-910b-0410-8b05-ffd578937521
2003-07-22 16:13:46 +00:00
Fred Kiefer
9e1ed22f44 Added methods [init], [objectValue], [setObjectValue:],
[setImage:]. In [initTextCell:pullsDown:] create the menu first,
so that the first item gets entered to it. In [setPullsDown:] and
[setAltersStateOfSelectedItem] set the values that depend on these
flags. In [insertItemWithTitle:atIndex:] remove duplicates.
[selectItem:] the used image now depends on the arrow
position. Removed [drawWithFrame:inView:] and rewrote
[drawInteriorWithFrame:inView:].


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17258 72102866-910b-0410-8b05-ffd578937521
2003-07-19 11:00:07 +00:00
Fred Kiefer
4afc950070 (insertItemWithTitle:atIndex:,
selectItemAtIndex:, selectItemWithTitle:, setTitle:)
Corrected type of local variable.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16990 72102866-910b-0410-8b05-ffd578937521
2003-06-21 23:28:40 +00:00
Adam Fedor
6be9174933 Include <> -> ""
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16917 72102866-910b-0410-8b05-ffd578937521
2003-06-13 15:01:12 +00:00
Michael Silva
cd5a9ae86b Small fix to NSPopUpButtonCell.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16564 72102866-910b-0410-8b05-ffd578937521
2003-04-27 20:37:29 +00:00
Sergii Stoian
182d90fe0e Draw temporary cell if no items in menu
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16455 72102866-910b-0410-8b05-ffd578937521
2003-04-13 08:57:29 +00:00
Sergii Stoian
490b673918 (removeAllItems): Leave item at index 0 with empty title
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16444 72102866-910b-0410-8b05-ffd578937521
2003-04-12 11:12:31 +00:00
Sergii Stoian
6301c30606 add remove/image only if it's not user settings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16415 72102866-910b-0410-8b05-ffd578937521
2003-04-10 15:06:48 +00:00
Nicola Pero
ba494c7cd9 Lock focus / unlock focus optimizations and fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15839 72102866-910b-0410-8b05-ffd578937521
2003-02-01 05:10:00 +00:00
Fred Kiefer
a666d7658d Removed unneeded includes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15004 72102866-910b-0410-8b05-ffd578937521
2002-11-17 18:38:34 +00:00
Pierre-Yves Rivaille
b24ec8eb74 * Source/NSMenuView.m:
New private method [NSMenuView -_itemCell] in newly created
  GNUstepPrivate category.
* Source/NSMenu.m:
  Add GNUstepPrivate interface of NSMenuView.
  [NSMenu -_setOwnedByPopUp:]: update itemCells' menuView
  (fix NSPopUpButtonCell-decoding problem).
* Source/NSPopUpButtonCell.m
  ([NSPopUpButtonCell -synchronizeTitleAndSelectedItem]):
  Fix "mouseUp outside of menu" problem. Now the previous
  selected item stay selected.
  ([NSPopUpButtonCell -initWithCoder:]):
  Set the selectedItem properly.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@14446 72102866-910b-0410-8b05-ffd578937521
2002-09-15 14:02:17 +00:00
Nicola Pero
8b87a0bc44 Added missing #include
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@13303 72102866-910b-0410-8b05-ffd578937521
2002-04-02 11:21:03 +00:00
Michael Silva
464f76e2be Improvements for popupbuttons.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12946 72102866-910b-0410-8b05-ffd578937521
2002-03-01 23:25:06 +00:00
Nicola Pero
38e56f0ef9 Do not draw state image for popup buttons ... in an efficient way
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12544 72102866-910b-0410-8b05-ffd578937521
2002-02-14 13:41:34 +00:00
Adam Fedor
d47e202fbe Markup for autogsdoc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11788 72102866-910b-0410-8b05-ffd578937521
2001-12-17 16:51:51 +00:00
Fred Kiefer
8e82e5c3b9 Added methods [setAction:] and [setTarget:], which call the super
implementation and also update the menu.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11142 72102866-910b-0410-8b05-ffd578937521
2001-10-14 21:36:12 +00:00
Fred Kiefer
8f884a5434 [insertItemWithTitle:atIndex:] don't set the action and target for
the item, so it will use the action from the popup button.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11110 72102866-910b-0410-8b05-ffd578937521
2001-10-08 08:19:50 +00:00
Fred Kiefer
92a36a93b8 Changed all calls to [NSMenu _setOwnedByPopUp:] and added missing
one in [setMenu:].


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11108 72102866-910b-0410-8b05-ffd578937521
2001-10-07 23:44:24 +00:00
Adam Fedor
9e7640459b Implement print panel
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11100 72102866-910b-0410-8b05-ffd578937521
2001-10-07 04:22:41 +00:00
Fred Kiefer
a47397006b Removed all ivars and cleaned up the rest.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11034 72102866-910b-0410-8b05-ffd578937521
2001-09-28 23:37:37 +00:00
Adam Fedor
91e18c2ded acrchiving fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@10918 72102866-910b-0410-8b05-ffd578937521
2001-09-16 19:44:11 +00:00
Fred Kiefer
672e30e17f Removed additional method on NSMenuItemCell. Removed code in
[insertItemWithTitle:atIndex:] to set the NSMenuItemCell to belong
to a popup. Simplified [attachPopUpWithFrame:inView:] and [selectItem:]


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@10915 72102866-910b-0410-8b05-ffd578937521
2001-09-16 18:21:05 +00:00
Fred Kiefer
ef5ec4b497 In [insertItemWithTitle:atIndex:] use action and target from the
cell for menu item.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@10803 72102866-910b-0410-8b05-ffd578937521
2001-08-30 06:50:38 +00:00
Pierre-Yves Rivaille
152714c90a (-drawInteriorWithFrame:inView:): updates to have a cuter displaying of
NSPopUpButton


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@10535 72102866-910b-0410-8b05-ffd578937521
2001-07-23 14:31:32 +00:00
Nicola Pero
f1d026eff6 Added missing method
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@10080 72102866-910b-0410-8b05-ffd578937521
2001-06-06 01:28:22 +00:00
Mirko Viviani
60b8f20ce4 * Source/NSButtonCell.m ([NSButtonCell -setCellAttribute:to:]):
implemented.
([NSButtonCell -cellAttribute:]): implemented.

* Source/NSPopUpButton.m ([NSPopUpButton -keyDown:]): implemented
keyboard selection.
([NSPopUpButton -resignFirstResponder]): implemented.
([NSPopUpButton -resignKeyWindow]): implemented.

* Source/NSPopUpButtonCell.m ([NSPopUpButtonCell
-drawInteriorWithFrame:inView:]): from -drawWithFrame:inView:

* Source/NSButton.m ([NSButton -becomeFirstResponder]): set cell first
responder.
([NSButton -resignFirstResponder]): likewise.
([NSButton -becomeKeyWindow]): likewise.
([NSButton -resignKeyWindow]): likewise.

* Source/NSBrowserCell.m ([NSBrowserCell -drawInteriorWithFrame:
inView:]): draw correct dotted box.

* Source/NSBrowser.m ([NSBrowser -becomeFirstResponder]): make first
responder the latest column.
([NSBrowser -acceptsFirstResponder]): accepts first responder status.
([NSBrowser -keyDown:]): handle tabs to select next/previous key view.
([NSBrowser -moveRight:]): make browser column the first responder.
([NSBrowser -moveUp:]): likewise.
([NSBrowser -moveDown:]): likewise.
([NSBrowser -moveLeft:]): likewise.
([NSBrowser -_unloadFromColumn:]): remove columns from superview and
array.
([NSBrowser -_remapColumnSubviews:]): set the correct first responder.

* Source/NSWindow.m ([NSWindow -sendEvent:]): retain/release first
responder for keyUp/keyDown events. Discard NSLeftMouseDown for closed
windows.
([NSWindow -dealloc]): release _originalResponder

* Source/NSView.m ([NSView -removeSubview:]): remove next responder.

* Source/NSCell.m ([NSCell -setUpFieldEditorAttributes:]): clear
selected range.
([NSCell -editWithFrame:inView:editor:delegate:event:]): redisplay
textObject after invoking mouseDown:
([NSCell -drawInteriorWithFrame:inView:]): draw dotted-line outline
when first responder.
([NSCell -setCellAttribute:to:]): implemented.

* Source/NSTextView.m ([NSTextView -moveUp:]): don't call
_illegalMovement: for the text field editor.
([NSTextView -moveDown:]): likewise.
([NSTextView -moveLeft:]): likewise.
([NSTextView -moveRight:]): likewise.

* Source/NSTextField.m ([NSTextField -textDidEndEditing:]): fixed
return/tab/backtab text movement code.

* Headers/gnustep/gui/NSGraphics.h: added NSDottedFrameRect prototype.

* Headers/gnustep/gui/NSMatrix.h: added ivars for dotted frame rect.
* Source/NSMatrix.m ([NSMatrix -selectCell:]): implemented.
([NSMatrix -_selectCell:atRow:column:]): new method.
([NSMatrix -selectCellAtRow:column:]): call _selectCell:atRow:column:
([NSMatrix -selectCellWithTag:]): likewise.
([NSMatrix -selectAll:]): Do not select disabled or editable cells.
([NSMatrix -textDidEndEditing:]): fixed return/tab/backtab text
movement code.
([NSMatrix -_selectNextSelectableCellAfterRow:column:]): don't select
disabled cells.
([NSMatrix -_selectPreviousSelectableCellBeforeRow:column:]): likewise.
([NSMatrix -_privateFrame:mode:numberOfRows:numberOfColumns:]): set
dottedRow and dottedColumn.
([NSMatrix -insertRow:withCells:]): likewise.
([NSMatrix -removeColumn:]): likewise.
([NSMatrix -removeRow:]): likewise.
([NSMatrix -mouseDown:]): likewise and discard disabled cells.
([NSMatrix -drawRect:]): set shows cell first responder.
([NSMatrix -becomeFirstResponder]): draw dotted box for cell.
([NSMatrix -resignFirstResponder]): likewise.
([NSMatrix -becomeKeyWindow]): likewise.
([NSMatrix -resignKeyWindow]): likewise.
([NSMatrix -_setNeedsDisplayDottedCell]): likewise.
([NSMatrix -selectTextAtRow:column:]): set shows cell first responder.
([NSMatrix -setState:atRow:column:]): likewise. Deselect previous
selected cell in radio mode.

* Source/NSSavePanel.m (createRowsForColumn:): use _gsSavePanelCompare:
and check extension against _requiredFileType and not "app", "bundle",
etc.
([NSString -_gsSavePanelCompare:]): filename compare.
([NSSavePanel -_initWithoutGModel]): set key view for keyboard
interaction.
([NSSavePanel -keyDown:]): removed.
([NSSavePanel -controlTextDidEndEditing:]): removed.

* Source/NSOpenPanel.m ([NSOpenPanel -_shouldShowExtension:isDir:]):
added isDir argument.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@9473 72102866-910b-0410-8b05-ffd578937521
2001-03-22 00:27:37 +00:00
Fred Kiefer
c2f8b2e407 Adopted to changes in NSCell.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8265 72102866-910b-0410-8b05-ffd578937521
2000-12-07 00:20:17 +00:00
Nicola Pero
4b558226f0 Implemented code to support autosizing of the popupbutton
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@6225 72102866-910b-0410-8b05-ffd578937521
2000-03-08 23:54:10 +00:00
Richard Frith-MacDonald
bb0bd00009 Tidyup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@6216 72102866-910b-0410-8b05-ffd578937521
2000-03-08 16:45:44 +00:00
Adam Fedor
b33bb418f4 Merge from 0.6.5
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@6040 72102866-910b-0410-8b05-ffd578937521
2000-02-19 00:40:47 +00:00