Developer Documentation
RAVL, Recognition And Vision Library
USER HOME PAGE CLASS LIST CONTENTS
Ravl - GUI - Internal - ManagerC
 

  PUBLIC
ManagerC::ManagerC(void)
ManagerC::~ManagerC(void)
ManagerC::Init(int &,char *)
ManagerC::Execute(void)
ManagerC::Start(void)
ManagerC::Notify(IntT)
ManagerC::HandleNotify(void)
ManagerC::Shutdown(void)
ManagerC::Wait(void)
ManagerC::WaitForStartup(void)
ManagerC::Quit(void)
ManagerC::GetRootWindow(void)
ManagerC::SetRootWindow(WindowC &)
ManagerC::Queue(const TriggerC &)
ManagerC::Queue(RealT,const TriggerC &)
ManagerC::IsGUIThread(void) const
ManagerC::IsManagerStarted(void) const
ManagerC::UnrefPixmap(GdkPixmap *)
ManagerC::TidyUp(void)
ManagerC::Register(WidgetBodyC &)
ManagerC::Deregister(WidgetBodyC &)
ManagerC::Deregister(IntT)
ManagerC::SetupEvent(RealT &,TriggerC &)
ManagerC::timeout_callback(void *)
ManagerC::InitDone(void)

   ManagerC   
 
GUI Manager class
 
include "Ravl/GUI/Manager.hh"
Created:23/03/1999 
Source file:Ravl/GUI/GTK/Manager.hh
User Level:Normal
Library:RavlGUI
Example:exCanvas.cc
In Scope:RavlGUIN

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

Variables:
MessageQueueC events;

HashC delayEvents;

int eCount;

bool eventProcPending;

MutexC access;

HashC wins;
Table of windows.

IntT idc;
Window id counter.

IntT ifp;
File handle for event pipe.

IntT ofp;
File handle for event pipe.

bool initCalled;

bool managerStarted;

bool shutdownFlag;

ThreadEventC shutdownDone;

ThreadEventC startupDone;

UIntT guiThreadID;

Methods:
ManagerC()
Default constructor.

~ManagerC()
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.

bool Notify(IntT id)
Notify interface of event.

void HandleNotify()
Handle notify request.

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

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

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

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

WindowC & GetRootWindow()
Access window.

void SetRootWindow(WindowC &)
Set root window.

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

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

Implemented with TimedEventQueue. Thread safe.


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

bool 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(WidgetBodyC & win)
Register new window.

void Deregister(WidgetBodyC & win)
Deregister widget.

void Deregister(IntT widgeID)
Deregister widget.

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

static int timeout_callback(void * data)
Timeout callback.

bool & InitDone()
Access init flag.


Maintainer:Charles Galambos, Created: 23/03/1999, Documentation by CxxDoc: Tue Aug 13 09:59:30 2002