//
// mxToolKit (c) 1999 by Mete Ciragan
//
// file: mxWidget.h
// implementation: all
// last modified: Apr 28 1999, Mete Ciragan
// copyright: The programs and associated files contained in this
// distribution were developed by Mete Ciragan. The programs
// are not in the public domain, but they are freely
// distributable without licensing fees. These programs are
// provided without guarantee or warrantee expressed or
// implied.
//
#ifndef INCLUDED_MXWIDGET
#define INCLUDED_MXWIDGET
enum
{
MX_BUTTON,
MX_CHECKBOX,
MX_CHOICE,
MX_GLWINDOW,
MX_MATSYSWINDOW,
MX_GROUPBOX,
MX_LABEL,
MX_LINEEDIT,
MX_LISTBOX,
MX_MENU,
MX_MENUBAR,
MX_POPUPMENU,
MX_PROGRESSBAR,
MX_RADIOBUTTON,
MX_SLIDER,
MX_SCROLLBAR,
MX_TAB,
MX_TOGGLEBUTTON,
MX_TREEVIEW,
MX_WINDOW,
MX_LISTVIEW,
};
class mxWindow;
class mxWidget_i;
class mxWidget
{
mxWidget_i *d_this;
protected:
void setHandle (void *handle);
void setType (int type);
void setParent (mxWindow *parentWindow);
public:
// CREATORS
mxWidget (mxWindow *parent, int x, int y, int w, int h, const char *label = 0);
virtual ~mxWidget ();
// Called just before deletion during shutdown
// Closing of application aborted if any control returns false
virtual bool CanClose();
virtual void OnDelete();
// MANIPULATORS
// void setBounds (int x, int y, int w, int h);
//
//
void setBounds (int x, int y, int w, int h);
// void setLabel (const char *label);
//
//
void setLabel (const char *format, ... );
void setVisible (bool b);
void setEnabled (bool b);
void setId (int id);
void setUserData (void *userData);
// ACCESSORS
void *getHandle () const;
int getType () const;
mxWindow *getParent () const;
int x () const;
int y () const;
int w () const;
int h () const;
int w2 () const;
int h2 () const;
const char *getLabel () const;
bool isVisible () const;
bool isEnabled () const;
int getId () const;
void *getUserData () const;
private:
// NOT IMPLEMENTED
mxWidget (const mxWidget&);
mxWidget& operator= (const mxWidget&);
};
#endif // INCLUDED_MXWIDGET