// This may look like C code, but it is really -*- C++ -*-
// Outils de manipulation des PIDrawer  R. Ansari 06/98
// LAL (Orsay) / IN2P3-CNRS  DAPNIA/SPP (Saclay) / CEA

#ifndef PIDRWTOOLS_H_SEEN
#define PIDRWTOOLS_H_SEEN

#include "pisysdep.h"
#include PISTDWDG_H
#include PIOPTMENU_H
#include PIWIN_H
#include PIAPP_H
#include "pibwdggen.h"

// --------- fenetre de dialogue pour modifs axes et options des Drawers ----------
// --------------------------------------------------------------------------------


class PIDrwTools : public PIWindow 
{
public :
  PIDrwTools(PIApplication* par);
  ~PIDrwTools();
  virtual void  Show();

  static PIDrwTools* curlutw;
  static void ShowPIDrwTools();
  static void HidePIDrwTools();
  static void SetCurrentBaseWdg(PIBaseWdgGen* cbw);
  static PIBaseWdgGen* GetCurrentBaseWdg();

protected:
  virtual void  UpdateAttFromDrawer();
  virtual void  SetGraphicAtt(bool fgref);
  virtual void  Process(PIMessage msg, PIMsgHandler* sender, void* data=NULL);

private:
// Pour couleur, fontes, etc 
  PIOptMenu* mOpt[8];
  PIMenu* mCasc[5];
  PILabel* mNlb;
  PIButton* mButdr[2];
  PIButton* mButcf[5];
  int mNDr;
  int mtyp, msz;
//
  static PIBaseWdgGen* mCurBW;
  static PIDrwTools* cwdrwt;
};

#endif
