// This may look like C code, but it is really -*- C++ -*- // Module PI : Peida Interactive PIBaseWdg // Reza 95-96 // LAL (Orsay) / IN2P3-CNRS DAPNIA/SPP (Saclay) / CEA #ifndef PIBWDGX_H_SEEN #define PIBWDGX_H_SEEN #include "pisysdep.h" #include "pibwdggen.h" #include "pigraphx.h" #include "pigraphps.h" class PIBaseWdgX : public PIBaseWdgGen { public: // Les methodes ... PIBaseWdgX(PIContainerGen *par, char *nom, int sx=10, int sy=10, int px=0, int py=0); virtual ~PIBaseWdgX(); virtual void FinishCreate(); // appele par la fenetre mere, apres XtRealize() // Activation des evenements virtual void ActivatePtrCross(); virtual void ActivateButton(int bid); virtual void ActivateMove(int bid); virtual void ActivateKeyboard(); // Divers : couleur de fond, Effacement fenetre, forme de la souris virtual void SetBackgroundColor(PIColors col=PI_White); virtual void EraseWindow(int x0=0, int y0=0, int dx=0, int dy=0); virtual void SelPointerShape(PIPointer ptr=PI_ArrowPointer); virtual PIColors GetBackgroundColor(); virtual PIPointer GetPointerShape(); virtual void AssignKeyboard(); // Acces aux caracteristiques du dernier evenement virtual void GetLastEventInfo(PIKeyModifier& kmod, unsigned long& tm); // On redefinit IsVisible() pour tenir compte de l appel a FinsihCreate virtual bool IsVisible(); // Fonction qui doit etre appelee pour rafraichir la fenetre virtual void Refresh(); // Appel depuis le PIXtBaseWidget uniquement (ExposeEvt de Xt ) virtual void eXposeProcess(int x0, int y0, int dx, int dy); protected: void Init(); PIPointer mPtrS; PIColors mBCol; bool finishDone; // Si FinsihCreate appele }; typedef PIBaseWdgX PIBaseWdg; #endif /* PIBWDGX_H_SEEN */