Developer Documentation
Centre for Vision, Speech & Signal Processing
USER IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
GUIManagerC::GUIManagerC(void)
GUIManagerC::~GUIManagerC(void)
GUIManagerC::Init(int &,char *)
GUIManagerC::Execute(void)
GUIManagerC::Start(void)
GUIManagerC::Notify(IntT)
GUIManagerC::HandleNotify(void)
GUIManagerC::Shutdown(void)
GUIManagerC::Wait(void)
GUIManagerC::WaitForStartup(void)
GUIManagerC::Quit(void)
GUIManagerC::GetRootWindow(void)
GUIManagerC::SetRootWindow(GUIWindowC &)
GUIManagerC::Queue(const PThread::SignalEventC &)
GUIManagerC::Queue(RealT,const PThread::SignalEventC &)
GUIManagerC::IsGUIThread(void) const
GUIManagerC::IsManagerStarted(void) const
GUIManagerC::UnrefPixmap(GdkPixmap *)
GUIManagerC::TidyUp(void)
GUIManagerC::Register(GUIWidgetBodyC &)
GUIManagerC::Deregister(GUIWidgetBodyC &)
GUIManagerC::Deregister(IntT)
GUIManagerC::SetupEvent(RealT &,PThread::SignalEventC &)
GUIManagerC::timeout_callback(void *)
GUIManagerC::InitDone(void)
GUIManagerC
 
GUI Manager class
 
include "amma/GUI/Manager.hh"
User Level:Default
Library:GUI
Example:exCanvas.cc
Section:GUI
In Scope:std

Comments:
As a user you should never need to creat an instance of this class, instead you should use the global variable GUIManager to access the relavent functions.

Variables:
PThread::SignalEventHandlerC events;

HashARC delayEvents;

int eCount;

BooleanT eventProcPending;

PThread::MutexC access;

HashARC wins;
Table of windows.

IntT idc;
Window id counter.

IntT ifp;
File handle for event pipe.

IntT ofp;
File handle for event pipe.

BooleanT initCalled;

BooleanT managerStarted;

BooleanT shutdownFlag;

PThread::BEventC shutdownDone;

PThread::BEventC startupDone;

UIntT guiThreadID;

Methods:
GUIManagerC()

~GUIManagerC()
Desructor.

void Init(int & nargs,char * args[])
Initalise system.

void Execute()
Start manager on seperate thread.
Call only ONCE.

void Start()
Handle over control to manager.
This will only return when the GUI is exited by the user.

BooleanT Notify(IntT id)
Notify interface of event.

void HandleNotify()
Handle notify request.

BooleanT Shutdown()
Finishup and exit.
This will not returns until the shutdown is complete. It should NOT be used from withing the GUI interface. EXPERIMENTAL !!

BooleanT Wait()
Wait for the GUI to be shutdown by the user.

BooleanT WaitForStartup()
Wait for the GUI to be started.

void Quit()
Start shutdown, use if called from a button.

GUIWindowC & GetRootWindow()
Access window.

void SetRootWindow(GUIWindowC &)
Set root window.

void Queue(const PThread::SignalEventC & se)
Queue an event for running in the GUI thread.
Thread safe.

void Queue(RealT t,const PThread::SignalEventC & se)
Queue an event for running after delay 't'
NB. These events are NOT run on the GUI thread!

Implemented with TimedEventQueue. Thread safe.


BooleanT IsGUIThread() const
Test if we're in the GUI thread.

BooleanT IsManagerStarted() const
Test the GUI manger has been started.

void UnrefPixmap(GdkPixmap *)
Ensure that an unref takes place for pixmap on the GUIThread.

void TidyUp()
Tidy up before exiting..

IntT Register(GUIWidgetBodyC & win)
Register new window.

void Deregister(GUIWidgetBodyC & win)
Deregister widget.

void Deregister(IntT widgeID)
Deregister widget.

void SetupEvent(RealT & delay,PThread::SignalEventC & se)
Setup delayed event.
GUI thread only.

int timeout_callback(void * data)
Timeout callback.

BooleanT & InitDone()
Access init flag.


Programmer:Charles Galambos, Documentation by CxxDoc: Tue Mar 20 10:49:27 2001