274 lines
10 KiB
C
274 lines
10 KiB
C
/*******************************************************************/
|
|
/* Fichier contenant les fonctions attachees aux objets graphiques */
|
|
/*******************************************************************/
|
|
|
|
#include "Tools.h"
|
|
|
|
extern void InitPushButton(struct XObj *xobj);
|
|
extern void DestroyPushButton(struct XObj *xobj);
|
|
extern void DrawPushButton(struct XObj *xobj);
|
|
extern void EvtMousePushButton(struct XObj *xobj,XButtonEvent *EvtButton);
|
|
extern void EvtKeyPushButton(struct XObj *xobj,XKeyEvent *EvtKey);
|
|
extern void ProcessMsgPushButton(struct XObj *xobj,unsigned long type,unsigned long *body);
|
|
|
|
extern void InitRadioButton(struct XObj *xobj);
|
|
extern void DestroyRadioButton(struct XObj *xobj);
|
|
extern void DrawRadioButton(struct XObj *xobj);
|
|
extern void EvtMouseRadioButton(struct XObj *xobj,XButtonEvent *EvtButton);
|
|
extern void EvtKeyRadioButton(struct XObj *xobj,XKeyEvent *EvtKey);
|
|
extern void ProcessMsgRadioButton(struct XObj *xobj,unsigned long type,unsigned long *body);
|
|
|
|
extern void InitItemDraw(struct XObj *xobj);
|
|
extern void DestroyItemDraw(struct XObj *xobj);
|
|
extern void DrawItemDraw(struct XObj *xobj);
|
|
extern void EvtMouseItemDraw(struct XObj *xobj,XButtonEvent *EvtButton);
|
|
extern void EvtKeyItemDraw(struct XObj *xobj,XKeyEvent *EvtKey);
|
|
extern void ProcessMsgItemDraw(struct XObj *xobj,unsigned long type,unsigned long *body);
|
|
|
|
extern void InitCheckBox(struct XObj *xobj);
|
|
extern void DestroyCheckBox(struct XObj *xobj);
|
|
extern void DrawCheckBox(struct XObj *xobj);
|
|
extern void EvtMouseCheckBox(struct XObj *xobj,XButtonEvent *EvtButton);
|
|
extern void EvtKeyCheckBox(struct XObj *xobj,XKeyEvent *EvtKey);
|
|
extern void ProcessMsgCheckBox(struct XObj *xobj,unsigned long type,unsigned long *body);
|
|
|
|
extern void InitTextField(struct XObj *xobj);
|
|
extern void DestroyTextField(struct XObj *xobj);
|
|
extern void DrawTextField(struct XObj *xobj);
|
|
extern void EvtMouseTextField(struct XObj *xobj,XButtonEvent *EvtButton);
|
|
extern void EvtKeyTextField(struct XObj *xobj,XKeyEvent *EvtKey);
|
|
extern void ProcessMsgTextField(struct XObj *xobj,unsigned long type,unsigned long *body);
|
|
|
|
extern void InitHScrollBar(struct XObj *xobj);
|
|
extern void DestroyHScrollBar(struct XObj *xobj);
|
|
extern void DrawHScrollBar(struct XObj *xobj);
|
|
extern void EvtMouseHScrollBar(struct XObj *xobj,XButtonEvent *EvtButton);
|
|
extern void EvtKeyHScrollBar(struct XObj *xobj,XKeyEvent *EvtKey);
|
|
extern void ProcessMsgHScrollBar(struct XObj *xobj,unsigned long type,unsigned long *body);
|
|
|
|
extern void InitVScrollBar(struct XObj *xobj);
|
|
extern void DestroyVScrollBar(struct XObj *xobj);
|
|
extern void DrawVScrollBar(struct XObj *xobj);
|
|
extern void EvtMouseVScrollBar(struct XObj *xobj,XButtonEvent *EvtButton);
|
|
extern void EvtKeyVScrollBar(struct XObj *xobj,XKeyEvent *EvtKey);
|
|
extern void ProcessMsgVScrollBar(struct XObj *xobj,unsigned long type,unsigned long *body);
|
|
|
|
extern void InitPopupMenu(struct XObj *xobj);
|
|
extern void DestroyPopupMenu(struct XObj *xobj);
|
|
extern void DrawPopupMenu(struct XObj *xobj);
|
|
extern void EvtMousePopupMenu(struct XObj *xobj,XButtonEvent *EvtButton);
|
|
extern void EvtKeyPopupMenu(struct XObj *xobj,XKeyEvent *EvtKey);
|
|
extern void ProcessMsgPopupMenu(struct XObj *xobj,unsigned long type,unsigned long *body);
|
|
|
|
extern void InitRectangle(struct XObj *xobj);
|
|
extern void DestroyRectangle(struct XObj *xobj);
|
|
extern void DrawRectangle(struct XObj *xobj);
|
|
extern void EvtMouseRectangle(struct XObj *xobj,XButtonEvent *EvtButton);
|
|
extern void EvtKeyRectangle(struct XObj *xobj,XKeyEvent *EvtKey);
|
|
extern void ProcessMsgRectangle(struct XObj *xobj,unsigned long type,unsigned long *body);
|
|
|
|
extern void InitMiniScroll(struct XObj *xobj);
|
|
extern void DestroyMiniScroll(struct XObj *xobj);
|
|
extern void DrawMiniScroll(struct XObj *xobj);
|
|
extern void EvtMouseMiniScroll(struct XObj *xobj,XButtonEvent *EvtButton);
|
|
extern void EvtKeyMiniScroll(struct XObj *xobj,XKeyEvent *EvtKey);
|
|
extern void ProcessMsgMiniScroll(struct XObj *xobj,unsigned long type,unsigned long *body);
|
|
|
|
extern void InitSwallow(struct XObj *xobj);
|
|
extern void DestroySwallow(struct XObj *xobj);
|
|
extern void DrawSwallow(struct XObj *xobj);
|
|
extern void EvtMouseSwallow(struct XObj *xobj,XButtonEvent *EvtButton);
|
|
extern void EvtKeySwallow(struct XObj *xobj,XKeyEvent *EvtKey);
|
|
extern void ProcessMsgSwallow(struct XObj *xobj,unsigned long type,unsigned long *body);
|
|
|
|
extern void InitHDipstick(struct XObj *xobj);
|
|
extern void DestroyHDipstick(struct XObj *xobj);
|
|
extern void DrawHDipstick(struct XObj *xobj);
|
|
extern void EvtMouseHDipstick(struct XObj *xobj,XButtonEvent *EvtButton);
|
|
extern void EvtKeyHDipstick(struct XObj *xobj,XKeyEvent *EvtKey);
|
|
extern void ProcessMsgHDipstick(struct XObj *xobj,unsigned long type,unsigned long *body);
|
|
|
|
extern void InitVDipstick(struct XObj *xobj);
|
|
extern void DestroyVDipstick(struct XObj *xobj);
|
|
extern void DrawVDipstick(struct XObj *xobj);
|
|
extern void EvtMouseVDipstick(struct XObj *xobj,XButtonEvent *EvtButton);
|
|
extern void EvtKeyVDipstick(struct XObj *xobj,XKeyEvent *EvtKey);
|
|
extern void ProcessMsgVDipstick(struct XObj *xobj,unsigned long type,unsigned long *body);
|
|
|
|
extern void InitList(struct XObj *xobj);
|
|
extern void DestroyList(struct XObj *xobj);
|
|
extern void DrawList(struct XObj *xobj);
|
|
extern void EvtMouseList(struct XObj *xobj,XButtonEvent *EvtButton);
|
|
extern void EvtKeyList(struct XObj *xobj,XKeyEvent *EvtKey);
|
|
extern void ProcessMsgList(struct XObj *xobj,unsigned long type,unsigned long *body);
|
|
|
|
extern void InitMenu(struct XObj *xobj);
|
|
extern void DestroyMenu(struct XObj *xobj);
|
|
extern void DrawMenu(struct XObj *xobj);
|
|
extern void EvtMouseMenu(struct XObj *xobj,XButtonEvent *EvtButton);
|
|
extern void EvtKeyMenu(struct XObj *xobj,XKeyEvent *EvtKey);
|
|
extern void ProcessMsgMenu(struct XObj *xobj,unsigned long type,unsigned long *body);
|
|
|
|
/***********************************************/
|
|
/*Choix des fonctions suivant le type de bouton*/
|
|
/***********************************************/
|
|
|
|
void ChooseFunction(struct XObj *xobj,char *type)
|
|
{
|
|
if (strcmp(type,"PushButton")==0)
|
|
{
|
|
xobj->TypeWidget=PushButton;
|
|
xobj->InitObj=InitPushButton;
|
|
xobj->DestroyObj=DestroyPushButton;
|
|
xobj->DrawObj=DrawPushButton;
|
|
xobj->EvtMouse=EvtMousePushButton;
|
|
xobj->EvtKey=EvtKeyPushButton;
|
|
xobj->ProcessMsg=ProcessMsgPushButton;
|
|
}
|
|
else if (strcmp(type,"RadioButton")==0)
|
|
{
|
|
xobj->TypeWidget=RadioButton;
|
|
xobj->InitObj=InitRadioButton;
|
|
xobj->DestroyObj=DestroyRadioButton;
|
|
xobj->DrawObj=DrawRadioButton;
|
|
xobj->EvtMouse=EvtMouseRadioButton;
|
|
xobj->EvtKey=EvtKeyRadioButton;
|
|
xobj->ProcessMsg=ProcessMsgRadioButton;
|
|
}
|
|
else if (strcmp(type,"ItemDraw")==0)
|
|
{
|
|
xobj->TypeWidget=ItemDraw;
|
|
xobj->InitObj=InitItemDraw;
|
|
xobj->DestroyObj=DestroyItemDraw;
|
|
xobj->DrawObj=DrawItemDraw;
|
|
xobj->EvtMouse=EvtMouseItemDraw;
|
|
xobj->EvtKey=EvtKeyItemDraw;
|
|
xobj->ProcessMsg=ProcessMsgItemDraw;
|
|
}
|
|
else if (strcmp(type,"CheckBox")==0)
|
|
{
|
|
xobj->TypeWidget=CheckBox;
|
|
xobj->InitObj=InitCheckBox;
|
|
xobj->DestroyObj=DestroyCheckBox;
|
|
xobj->DrawObj=DrawCheckBox;
|
|
xobj->EvtMouse=EvtMouseCheckBox;
|
|
xobj->EvtKey=EvtKeyCheckBox;
|
|
xobj->ProcessMsg=ProcessMsgCheckBox;
|
|
}
|
|
else if (strcmp(type,"TextField")==0)
|
|
{
|
|
xobj->TypeWidget=TextField;
|
|
xobj->InitObj=InitTextField;
|
|
xobj->DestroyObj=DestroyTextField;
|
|
xobj->DrawObj=DrawTextField;
|
|
xobj->EvtMouse=EvtMouseTextField;
|
|
xobj->EvtKey=EvtKeyTextField;
|
|
xobj->ProcessMsg=ProcessMsgTextField;
|
|
}
|
|
else if (strcmp(type,"HScrollBar")==0)
|
|
{
|
|
xobj->TypeWidget=HScrollBar;
|
|
xobj->InitObj=InitHScrollBar;
|
|
xobj->DestroyObj=DestroyHScrollBar;
|
|
xobj->DrawObj=DrawHScrollBar;
|
|
xobj->EvtMouse=EvtMouseHScrollBar;
|
|
xobj->EvtKey=EvtKeyHScrollBar;
|
|
xobj->ProcessMsg=ProcessMsgHScrollBar;
|
|
}
|
|
else if (strcmp(type,"VScrollBar")==0)
|
|
{
|
|
xobj->TypeWidget=VScrollBar;
|
|
xobj->InitObj=InitVScrollBar;
|
|
xobj->DestroyObj=DestroyVScrollBar;
|
|
xobj->DrawObj=DrawVScrollBar;
|
|
xobj->EvtMouse=EvtMouseVScrollBar;
|
|
xobj->EvtKey=EvtKeyVScrollBar;
|
|
xobj->ProcessMsg=ProcessMsgVScrollBar;
|
|
}
|
|
else if (strcmp(type,"PopupMenu")==0)
|
|
{
|
|
xobj->TypeWidget=PopupMenu;
|
|
xobj->InitObj=InitPopupMenu;
|
|
xobj->DestroyObj=DestroyPopupMenu;
|
|
xobj->DrawObj=DrawPopupMenu;
|
|
xobj->EvtMouse=EvtMousePopupMenu;
|
|
xobj->EvtKey=EvtKeyPopupMenu;
|
|
xobj->ProcessMsg=ProcessMsgPopupMenu;
|
|
}
|
|
else if (strcmp(type,"Rectangle")==0)
|
|
{
|
|
xobj->TypeWidget=Rectangle;
|
|
xobj->InitObj=InitRectangle;
|
|
xobj->DestroyObj=DestroyRectangle;
|
|
xobj->DrawObj=DrawRectangle;
|
|
xobj->EvtMouse=EvtMouseRectangle;
|
|
xobj->EvtKey=EvtKeyRectangle;
|
|
xobj->ProcessMsg=ProcessMsgRectangle;
|
|
}
|
|
else if (strcmp(type,"MiniScroll")==0)
|
|
{
|
|
xobj->TypeWidget=MiniScroll;
|
|
xobj->InitObj=InitMiniScroll;
|
|
xobj->DestroyObj=DestroyMiniScroll;
|
|
xobj->DrawObj=DrawMiniScroll;
|
|
xobj->EvtMouse=EvtMouseMiniScroll;
|
|
xobj->EvtKey=EvtKeyMiniScroll;
|
|
xobj->ProcessMsg=ProcessMsgMiniScroll;
|
|
}
|
|
else if (strcmp(type,"SwallowExec")==0)
|
|
{
|
|
xobj->TypeWidget=SwallowExec;
|
|
xobj->InitObj=InitSwallow;
|
|
xobj->DestroyObj=DestroySwallow;
|
|
xobj->DrawObj=DrawSwallow;
|
|
xobj->EvtMouse=EvtMouseSwallow;
|
|
xobj->EvtKey=EvtKeySwallow;
|
|
xobj->ProcessMsg=ProcessMsgSwallow;
|
|
}
|
|
else if (strcmp(type,"HDipstick")==0)
|
|
{
|
|
xobj->TypeWidget=HDipstick;
|
|
xobj->InitObj=InitHDipstick;
|
|
xobj->DestroyObj=DestroyHDipstick;
|
|
xobj->DrawObj=DrawHDipstick;
|
|
xobj->EvtMouse=EvtMouseHDipstick;
|
|
xobj->EvtKey=EvtKeyHDipstick;
|
|
xobj->ProcessMsg=ProcessMsgHDipstick;
|
|
}
|
|
else if (strcmp(type,"VDipstick")==0)
|
|
{
|
|
xobj->TypeWidget=VDipstick;
|
|
xobj->InitObj=InitVDipstick;
|
|
xobj->DestroyObj=DestroyVDipstick;
|
|
xobj->DrawObj=DrawVDipstick;
|
|
xobj->EvtMouse=EvtMouseVDipstick;
|
|
xobj->EvtKey=EvtKeyVDipstick;
|
|
xobj->ProcessMsg=ProcessMsgVDipstick;
|
|
}
|
|
else if (strcmp(type,"List")==0)
|
|
{
|
|
xobj->TypeWidget=List;
|
|
xobj->InitObj=InitList;
|
|
xobj->DestroyObj=DestroyList;
|
|
xobj->DrawObj=DrawList;
|
|
xobj->EvtMouse=EvtMouseList;
|
|
xobj->EvtKey=EvtKeyList;
|
|
xobj->ProcessMsg=ProcessMsgList;
|
|
}
|
|
else if (strcmp(type,"Menu")==0)
|
|
{
|
|
xobj->TypeWidget=Menu;
|
|
xobj->InitObj=InitMenu;
|
|
xobj->DestroyObj=DestroyMenu;
|
|
xobj->DrawObj=DrawMenu;
|
|
xobj->EvtMouse=EvtMouseMenu;
|
|
xobj->EvtKey=EvtKeyMenu;
|
|
xobj->ProcessMsg=ProcessMsgMenu;
|
|
}
|
|
else
|
|
{
|
|
fprintf(stderr,"Item %s unknow\n",type);
|
|
exit(1);
|
|
}
|
|
}
|