// 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, const 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 SelPointerShape(PIPointer ptr=PI_ArrowPointer); 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; // pour s'assurer que le bon FinishCreate() est appele - pb lie aux tables de fonctions // virtuelles des classes qui sont remplies au fur et a mesure des constructeurs bool bwx_finishDone; }; typedef PIBaseWdgX PIBaseWdg; #endif /* PIBWDGX_H_SEEN */