Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FX::FXApp Class Reference

#include <FXApp.h>

Inheritance diagram for FX::FXApp:
FX::FXObject

Public Types

enum  {
  ID_QUIT =1,
  ID_DUMP,
  ID_HOVER,
  ID_LAST
}
 

Public Member Functions

 FXApp (const FXString &name="Application", const FXString &vendor="FoxDefault")
 
const FXStringgetAppName () const
 
const FXStringgetVendorName () const
 
bool openDisplay (const FXchar *dpyname=NULL)
 
bool closeDisplay ()
 
void * getDisplay () const
 
bool isInitialized () const
 
FXint getArgc () const
 
const FXchar *const * getArgv () const
 
bool hasInputMethod () const
 
FXVisualgetDefaultVisual () const
 
void setDefaultVisual (FXVisual *vis)
 
FXVisualgetMonoVisual () const
 
FXRootWindowgetRootWindow () const
 
void setRootWindow (FXRootWindow *rt)
 
FXWindowgetFocusWindow () const
 
FXWindowgetCursorWindow () const
 
FXWindowgetActiveWindow () const
 
FXPopupgetPopupWindow () const
 
FXWindowfindWindowWithId (FXID xid) const
 
FXWindowfindWindowAt (FXint rx, FXint ry, FXID window=0) const
 
virtual void create ()
 
virtual void destroy ()
 
virtual void detach ()
 
void addTimeout (FXObject *tgt, FXSelector sel, FXuint ms=1000, void *ptr=NULL)
 
void removeTimeout (FXObject *tgt, FXSelector sel)
 
bool hasTimeout (FXObject *tgt, FXSelector sel) const
 
FXuint remainingTimeout (FXObject *tgt, FXSelector sel)
 
void handleTimeouts ()
 
void addChore (FXObject *tgt, FXSelector sel, void *ptr=NULL)
 
void removeChore (FXObject *tgt, FXSelector sel)
 
bool hasChore (FXObject *tgt, FXSelector sel) const
 
void addSignal (FXint sig, FXObject *tgt, FXSelector sel, FXbool immediate=FALSE, FXuint flags=0)
 
void removeSignal (FXint sig)
 
bool addInput (FXInputHandle fd, FXuint mode, FXObject *tgt, FXSelector sel)
 
bool removeInput (FXInputHandle fd, FXuint mode)
 
bool getKeyState (FXuint keysym) const
 
bool peekEvent ()
 
bool runOneEvent (bool blocking=true)
 
FXint run ()
 
FXint runUntil (FXuint &condition)
 
FXint runWhileEvents ()
 
FXint runModalWhileEvents (FXWindow *window=NULL)
 
FXint runModal ()
 
FXint runModalFor (FXWindow *window)
 
FXint runModalWhileShown (FXWindow *window)
 
FXint runPopup (FXWindow *window)
 
bool isModal (FXWindow *window) const
 
FXWindowgetModalWindow () const
 
FXModality getModality () const
 
void stop (FXint value=0)
 
void stopModal (FXWindow *window, FXint value=0)
 
void stopModal (FXint value=0)
 
void forceRefresh ()
 
void refresh ()
 
void flush (bool sync=false)
 
void repaint ()
 
virtual void init (int &argc, char **argv, bool connect=true)
 
virtual void exit (FXint code=0)
 
FXRegistryreg ()
 
FXDragType registerDragType (const FXString &name) const
 
FXString getDragTypeName (FXDragType type) const
 
FXWindowgetDragWindow () const
 
void beep ()
 
void setNormalFont (FXFont *font)
 
FXFontgetNormalFont () const
 
void beginWaitCursor ()
 
void endWaitCursor ()
 
void setWaitCursor (FXCursor *cur)
 
FXCursorgetWaitCursor () const
 
FXCursorgetDefaultCursor (FXDefaultCursor which) const
 
void setDefaultCursor (FXDefaultCursor which, FXCursor *cur)
 
FXbool writeWindow (FXStream &store, FXWindow *window)
 
FXbool readWindow (FXStream &store, FXWindow *&window, FXWindow *father, FXWindow *owner)
 
FXMutexmutex ()
 
void setTranslator (FXTranslator *trans)
 
FXTranslatorgetTranslator () const
 
FXuint getTypingSpeed () const
 
FXuint getClickSpeed () const
 
FXuint getScrollSpeed () const
 
FXuint getScrollDelay () const
 
FXuint getBlinkSpeed () const
 
FXuint getAnimSpeed () const
 
FXuint getMenuPause () const
 
FXuint getTooltipPause () const
 
FXuint getTooltipTime () const
 
FXint getDragDelta () const
 
FXint getWheelLines () const
 
FXint getScrollBarSize () const
 
void setTypingSpeed (FXuint speed)
 
void setClickSpeed (FXuint speed)
 
void setScrollSpeed (FXuint speed)
 
void setScrollDelay (FXuint delay)
 
void setBlinkSpeed (FXuint speed)
 
void setAnimSpeed (FXuint speed)
 
void setMenuPause (FXuint pause)
 
void setTooltipPause (FXuint pause)
 
void setTooltipTime (FXuint time)
 
void setDragDelta (FXint delta)
 
void setWheelLines (FXint lines)
 
void setScrollBarSize (FXint size)
 
FXColor getBorderColor () const
 
FXColor getBaseColor () const
 
FXColor getHiliteColor () const
 
FXColor getShadowColor () const
 
FXColor getBackColor () const
 
FXColor getForeColor () const
 
FXColor getSelforeColor () const
 
FXColor getSelbackColor () const
 
FXColor getTipforeColor () const
 
FXColor getTipbackColor () const
 
FXColor getSelMenuTextColor () const
 
FXColor getSelMenuBackColor () const
 
void setBorderColor (FXColor color)
 
void setBaseColor (FXColor color)
 
void setHiliteColor (FXColor color)
 
void setShadowColor (FXColor color)
 
void setBackColor (FXColor color)
 
void setForeColor (FXColor color)
 
void setSelforeColor (FXColor color)
 
void setSelbackColor (FXColor color)
 
void setTipforeColor (FXColor color)
 
void setTipbackColor (FXColor color)
 
void setSelMenuTextColor (FXColor color)
 
void setSelMenuBackColor (FXColor color)
 
FXuint getWindowCount () const
 
virtual void save (FXStream &store) const
 
virtual void load (FXStream &store)
 
void dumpWidgets () const
 
virtual ~FXApp ()
 
- Public Member Functions inherited from FX::FXObject
virtual long onDefault (FXObject *, FXSelector, void *)
 
const FXchargetClassName () const
 
bool isMemberOf (const FXMetaClass *metaclass) const
 
virtual long tryHandle (FXObject *sender, FXSelector sel, void *ptr)
 
virtual ~FXObject ()
 

Static Public Member Functions

static FXAppinstance ()
 

Static Public Attributes

static const FXuchar copyright []
 

Friends

class FXId
 
class FXBitmap
 
class FXImage
 
class FXIcon
 
class FXCursor
 
class FXDrawable
 
class FXWindow
 
class FXShell
 
class FXRootWindow
 
class FXTopWindow
 
class FXMainWindow
 
class FXPopup
 
class FXFont
 
class FXVisual
 
class FXGLVisual
 
class FXGLContext
 
class FXDC
 
class FXDCWindow
 
class FXDragCorner
 
class FXDockHandler
 
class FXComposeContext
 

Detailed Description

Member Enumeration Documentation

anonymous enum

Messages applications understand.

Enumerator
ID_QUIT 

Terminate the application normally.

ID_DUMP 

Dump the current widget tree.

ID_HOVER 
ID_LAST 

Constructor & Destructor Documentation

FX::FXApp::FXApp ( const FXString name = "Application",
const FXString vendor = "FoxDefault" 
)

Copyright notice of library.

Construct application object; the name and vendor strings are used as keys into the registry database for this application's settings. Only one single application object can be constructed.

virtual FX::FXApp::~FXApp ( )
virtual

Destroy the application and all reachable resources.

Member Function Documentation

const FXString& FX::FXApp::getAppName ( ) const
inline

Get application name.

const FXString& FX::FXApp::getVendorName ( ) const
inline

Get vendor name.

bool FX::FXApp::openDisplay ( const FXchar dpyname = NULL)

Connection to display; this is called by init()

bool FX::FXApp::closeDisplay ( )

Close connection to the display.

void* FX::FXApp::getDisplay ( ) const
inline

Return pointer.

bool FX::FXApp::isInitialized ( ) const
inline

Is application initialized.

FXint FX::FXApp::getArgc ( ) const
inline

Get argument count.

const FXchar* const* FX::FXApp::getArgv ( ) const
inline

Get argument vector.

bool FX::FXApp::hasInputMethod ( ) const

Return true if input method support.

FXVisual* FX::FXApp::getDefaultVisual ( ) const
inline

Get default visual.

void FX::FXApp::setDefaultVisual ( FXVisual vis)

Change default visual.

FXVisual* FX::FXApp::getMonoVisual ( ) const
inline

Get monochrome visual.

FXRootWindow* FX::FXApp::getRootWindow ( ) const
inline

Get root Window.

void FX::FXApp::setRootWindow ( FXRootWindow rt)

Set root Window.

FXWindow* FX::FXApp::getFocusWindow ( ) const

Return window at the end of the focus chain.

FXWindow* FX::FXApp::getCursorWindow ( ) const
inline

Get the window under the cursor, if any.

FXWindow* FX::FXApp::getActiveWindow ( ) const
inline

Get the active toplevel window, if any.

FXPopup* FX::FXApp::getPopupWindow ( ) const
inline

Get current popup window, if any.

FXWindow* FX::FXApp::findWindowWithId ( FXID  xid) const

Find window from id.

FXWindow* FX::FXApp::findWindowAt ( FXint  rx,
FXint  ry,
FXID  window = 0 
) const

Find window from root x,y, starting from given window.

virtual void FX::FXApp::create ( )
virtual

Create application's windows.

virtual void FX::FXApp::destroy ( )
virtual

Destroy application's windows.

virtual void FX::FXApp::detach ( )
virtual

Detach application's windows.

void FX::FXApp::addTimeout ( FXObject tgt,
FXSelector  sel,
FXuint  ms = 1000,
void *  ptr = NULL 
)

Add timeout message to be sent to target object in ms milliseconds; the timer fires only once after the interval expires.

The void* ptr is user data which will be passed into the void* ptr of the message handler. If a timer with the same target and message already exists, it will be rescheduled.

void FX::FXApp::removeTimeout ( FXObject tgt,
FXSelector  sel 
)

Remove timeout identified by tgt and sel.

bool FX::FXApp::hasTimeout ( FXObject tgt,
FXSelector  sel 
) const

Return TRUE if given timeout has been set.

FXuint FX::FXApp::remainingTimeout ( FXObject tgt,
FXSelector  sel 
)

Return, in ms, the time remaining until the given timer fires.

If the timer is past due, 0 is returned. If there is no such timer, infinity (UINT_MAX) is returned.

void FX::FXApp::handleTimeouts ( )

Process any timeouts due at this time.

void FX::FXApp::addChore ( FXObject tgt,
FXSelector  sel,
void *  ptr = NULL 
)

Add a idle processing message to be sent to target object when the system becomes idle, i.e.

there are no events to be processed. The void* ptr is user data which will be passed into the void* ptr of the message handler. If a chore with the same target and message already exists, it will be rescheduled.

void FX::FXApp::removeChore ( FXObject tgt,
FXSelector  sel 
)

Remove idle processing message identified by tgt and sel.

bool FX::FXApp::hasChore ( FXObject tgt,
FXSelector  sel 
) const

Return TRUE if given chore has been set.

void FX::FXApp::addSignal ( FXint  sig,
FXObject tgt,
FXSelector  sel,
FXbool  immediate = FALSE,
FXuint  flags = 0 
)

Add signal processing message to be sent to target object when the signal sig is raised; flags are to be set as per POSIX definitions.

When immediate is TRUE, the message will be sent to the target right away; this should be used with extreme care as the application is interrupted at an unknown point in its execution.

void FX::FXApp::removeSignal ( FXint  sig)

Remove signal message for signal sig.

bool FX::FXApp::addInput ( FXInputHandle  fd,
FXuint  mode,
FXObject tgt,
FXSelector  sel 
)

Add a file descriptor fd to be watched for activity as determined by mode, where mode is a bitwise OR (INPUT_READ, INPUT_WRITE, INPUT_EXCEPT).

A message of type SEL_IO_READ, SEL_IO_WRITE, or SEL_IO_EXCEPT will be sent to the target when the specified activity is detected on the file descriptor.

bool FX::FXApp::removeInput ( FXInputHandle  fd,
FXuint  mode 
)

Remove input message and target object for the specified file descriptor and mode, which is a bitwise OR of (INPUT_READ, INPUT_WRITE, INPUT_EXCEPT).

bool FX::FXApp::getKeyState ( FXuint  keysym) const

Return key state of given key.

bool FX::FXApp::peekEvent ( )

Peek to determine if there's an event.

bool FX::FXApp::runOneEvent ( bool  blocking = true)

Perform one event dispatch; return true if event was dispatched.

FXint FX::FXApp::run ( )

Run the main application event loop until stop() is called, and return the exit code passed as argument to stop().

FXint FX::FXApp::runUntil ( FXuint condition)

Run an event loop till some flag becomes non-zero, and then return.

FXint FX::FXApp::runWhileEvents ( )

Run event loop while events are available, non-modally.

Return when no more events, timers, or chores are outstanding.

FXint FX::FXApp::runModalWhileEvents ( FXWindow window = NULL)

Run event loop while there are events are available in the queue.

Returns 1 when all events in the queue have been handled, and 0 when the event loop was terminated due to stop() or stopModal(). Except for the modal window and its children, user input to all windows is blocked; if the modal window is NULL, all user input is blocked.

FXint FX::FXApp::runModal ( )

Run modal event loop, blocking keyboard and mouse events to all windows until stopModal is called.

FXint FX::FXApp::runModalFor ( FXWindow window)

Run a modal event loop for the given window, until stop() or stopModal() is called.

Except for the modal window and its children, user input to all windows is blocked; if the modal window is NULL all user input is blocked.

FXint FX::FXApp::runModalWhileShown ( FXWindow window)

Run modal while window is shown, or until stop() or stopModal() is called.

Except for the modal window and its children, user input to all windows is blocked; if the modal window is NULL all user input is blocked.

FXint FX::FXApp::runPopup ( FXWindow window)

Run popup menu while shown, until stop() or stopModal() is called.

Also returns when entering previous cascading popup menu.

bool FX::FXApp::isModal ( FXWindow window) const

True if the window is modal.

FXWindow* FX::FXApp::getModalWindow ( ) const

Return window of current modal loop.

FXModality FX::FXApp::getModality ( ) const

Return mode of current modal loop.

void FX::FXApp::stop ( FXint  value = 0)

Terminate the outermost event loop, and all inner modal loops; All more deeper nested event loops will be terminated with code equal to 0, while the outermost event loop will return code equal to value.

void FX::FXApp::stopModal ( FXWindow window,
FXint  value = 0 
)

Break out of the matching modal loop, returning code equal to value.

All deeper nested event loops are terminated with code equal to 0.

void FX::FXApp::stopModal ( FXint  value = 0)

Break out of the innermost modal loop, returning code equal to value.

void FX::FXApp::forceRefresh ( )

Force GUI refresh.

void FX::FXApp::refresh ( )

Schedule a refresh.

void FX::FXApp::flush ( bool  sync = false)

Flush pending repaints.

void FX::FXApp::repaint ( )

Paint all windows marked for repainting.

On return all the applications windows have been painted.

virtual void FX::FXApp::init ( int &  argc,
char **  argv,
bool  connect = true 
)
virtual

Initialize application.

Parses and removes common command line arguments, reads the registry. Finally, if connect is TRUE, it opens the display.

virtual void FX::FXApp::exit ( FXint  code = 0)
virtual

Exit application.

Closes the display and writes the registry.

FXRegistry& FX::FXApp::reg ( )
inline

Return a reference to the registry.

The registry keeps settings and configuration information for an application, which are automatically loaded when the application starts up, and saved when the application terminates.

FXDragType FX::FXApp::registerDragType ( const FXString name) const

Register new DND type.

FXString FX::FXApp::getDragTypeName ( FXDragType  type) const

Get drag type name.

FXWindow* FX::FXApp::getDragWindow ( ) const
inline

Return drag window if a drag operation is in progress.

void FX::FXApp::beep ( )

Beep.

static FXApp* FX::FXApp::instance ( )
inlinestatic

Return application instance.

void FX::FXApp::setNormalFont ( FXFont font)

Change default font.

FXFont* FX::FXApp::getNormalFont ( ) const
inline

Return default font.

void FX::FXApp::beginWaitCursor ( )

Begin of wait-cursor block; wait-cursor blocks may be nested.

void FX::FXApp::endWaitCursor ( )

End of wait-cursor block.

void FX::FXApp::setWaitCursor ( FXCursor cur)

Change to a new wait cursor.

FXCursor* FX::FXApp::getWaitCursor ( ) const
inline

Return current wait cursor.

FXCursor* FX::FXApp::getDefaultCursor ( FXDefaultCursor  which) const
inline

Obtain a default cursor.

void FX::FXApp::setDefaultCursor ( FXDefaultCursor  which,
FXCursor cur 
)

Change default cursor.

FXbool FX::FXApp::writeWindow ( FXStream store,
FXWindow window 
)

Write a window and its children, and all resources reachable from this window, into the stream store.

(EXPERIMENTAL!)

FXbool FX::FXApp::readWindow ( FXStream store,
FXWindow *&  window,
FXWindow father,
FXWindow owner 
)

Read a window and its children from the stream store, and append it under father; note it is initially not created yet.

(EXPERIMENTAL!)

FXMutex& FX::FXApp::mutex ( )
inline

Return a reference to the application-wide mutex.

Normally, the main user interface thread holds this mutex, insuring that no other threads are modifying data during the processing of user interface messages. However, whenever the main user interface thread blocks for messages, it releases this mutex, to allow other threads to modify the same data. When a new message becomes available, the main user interface thread regains the mutex prior to dispatching the message. Other threads should hold this mutex only for short durations, so as to not starve the main user interface thread.

void FX::FXApp::setTranslator ( FXTranslator trans)

Change message translator.

The new translator will be owned by FXApp.

FXTranslator* FX::FXApp::getTranslator ( ) const
inline

Return message translator.

FXuint FX::FXApp::getTypingSpeed ( ) const
inline

Obtain application-wide settings.

FXuint FX::FXApp::getClickSpeed ( ) const
inline
FXuint FX::FXApp::getScrollSpeed ( ) const
inline
FXuint FX::FXApp::getScrollDelay ( ) const
inline
FXuint FX::FXApp::getBlinkSpeed ( ) const
inline
FXuint FX::FXApp::getAnimSpeed ( ) const
inline
FXuint FX::FXApp::getMenuPause ( ) const
inline
FXuint FX::FXApp::getTooltipPause ( ) const
inline
FXuint FX::FXApp::getTooltipTime ( ) const
inline
FXint FX::FXApp::getDragDelta ( ) const
inline
FXint FX::FXApp::getWheelLines ( ) const
inline
FXint FX::FXApp::getScrollBarSize ( ) const
inline
void FX::FXApp::setTypingSpeed ( FXuint  speed)

Change application-wide settings.

void FX::FXApp::setClickSpeed ( FXuint  speed)
void FX::FXApp::setScrollSpeed ( FXuint  speed)
void FX::FXApp::setScrollDelay ( FXuint  delay)
void FX::FXApp::setBlinkSpeed ( FXuint  speed)
void FX::FXApp::setAnimSpeed ( FXuint  speed)
void FX::FXApp::setMenuPause ( FXuint  pause)
void FX::FXApp::setTooltipPause ( FXuint  pause)
void FX::FXApp::setTooltipTime ( FXuint  time)
void FX::FXApp::setDragDelta ( FXint  delta)
void FX::FXApp::setWheelLines ( FXint  lines)
void FX::FXApp::setScrollBarSize ( FXint  size)
FXColor FX::FXApp::getBorderColor ( ) const
inline

Obtain default colors.

FXColor FX::FXApp::getBaseColor ( ) const
inline
FXColor FX::FXApp::getHiliteColor ( ) const
inline
FXColor FX::FXApp::getShadowColor ( ) const
inline
FXColor FX::FXApp::getBackColor ( ) const
inline
FXColor FX::FXApp::getForeColor ( ) const
inline
FXColor FX::FXApp::getSelforeColor ( ) const
inline
FXColor FX::FXApp::getSelbackColor ( ) const
inline
FXColor FX::FXApp::getTipforeColor ( ) const
inline
FXColor FX::FXApp::getTipbackColor ( ) const
inline
FXColor FX::FXApp::getSelMenuTextColor ( ) const
inline
FXColor FX::FXApp::getSelMenuBackColor ( ) const
inline
void FX::FXApp::setBorderColor ( FXColor  color)

Change default colors.

void FX::FXApp::setBaseColor ( FXColor  color)
void FX::FXApp::setHiliteColor ( FXColor  color)
void FX::FXApp::setShadowColor ( FXColor  color)
void FX::FXApp::setBackColor ( FXColor  color)
void FX::FXApp::setForeColor ( FXColor  color)
void FX::FXApp::setSelforeColor ( FXColor  color)
void FX::FXApp::setSelbackColor ( FXColor  color)
void FX::FXApp::setTipforeColor ( FXColor  color)
void FX::FXApp::setTipbackColor ( FXColor  color)
void FX::FXApp::setSelMenuTextColor ( FXColor  color)
void FX::FXApp::setSelMenuBackColor ( FXColor  color)
FXuint FX::FXApp::getWindowCount ( ) const
inline

Get number of existing windows.

virtual void FX::FXApp::save ( FXStream store) const
virtual

Save.

Reimplemented from FX::FXObject.

virtual void FX::FXApp::load ( FXStream store)
virtual

Load.

Reimplemented from FX::FXObject.

void FX::FXApp::dumpWidgets ( ) const

Dump widget information.

Friends And Related Function Documentation

friend class FXId
friend
friend class FXBitmap
friend
friend class FXImage
friend
friend class FXIcon
friend
friend class FXCursor
friend
friend class FXDrawable
friend
friend class FXWindow
friend
friend class FXShell
friend
friend class FXRootWindow
friend
friend class FXTopWindow
friend
friend class FXMainWindow
friend
friend class FXPopup
friend
friend class FXFont
friend
friend class FXVisual
friend
friend class FXGLVisual
friend
friend class FXGLContext
friend
friend class FXDC
friend
friend class FXDCWindow
friend
friend class FXDragCorner
friend
friend class FXDockHandler
friend
friend class FXComposeContext
friend

Member Data Documentation

const FXuchar FX::FXApp::copyright[]
static

Information.

Copyright © 1997-2005 Jeroen van der Zijp