/*
* CPPanel.j
* AppKit
*
* Created by Francisco Tolmasky.
* Copyright 2008, 280 North, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
import "CPWindow.j"
CPOKButton = 1;
CPCancelButton = 0;
/*
The
Panels behave differently from standard windows in only a small number of ways, but the ways are important to the user interface:
To aid in their auxiliary role, panels can be assigned special behaviors:
YES if the receiver is a floating panel (like a palette).
*/
- (BOOL)isFloatingPanel
{
return [self level] == CPFloatingWindowLevel;
}
/*
Sets the receiver to be a floating panel. YES
makes the window a floating panel. NO makes it a normal window.
@param isFloatingPanel specifies whether to make it floating
*/
- (void)setFloatingPanel:(BOOL)isFloatingPanel
{
[self setLevel:isFloatingPanel ? CPFloatingWindowLevel : CPNormalWindowLevel];
}
/*
Returns YES if the window only becomes key
if needed. NO means it behaves just like other windows.
*/
- (BOOL)becomesKeyOnlyIfNeeded
{
return _becomesKeyOnlyIfNeeded;
}
/*
Sets whether the the window becomes key only if needed.
@param shouldBecomeKeyOnlyIfNeeded YES makes the window become key only if needed
*/
- (void)setBecomesKeyOnlyIfNeeded:(BOOL)shouldBecomeKeyOnlyIfNeeded
{
_becomesKeyOnlyIfNeeded = shouldBecomeKeyOnlyIfNeeded
}
- (BOOL)worksWhenModal
{
return _worksWhenModal;
}
/*
Sets whether this window can receive input while another window is running modally.
@param shouldWorkWhenModal whether to receive input while another window is modal
*/
- (void)setWorksWhenModal:(BOOL)shouldWorkWhenModal
{
_worksWhenModal = shouldWorkWhenModal;
}
- (BOOL)canBecomeMainWindow
{
return NO;
}
@end