00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CSDIALOG_H__
00021 #define __CSDIALOG_H__
00022
00023 #include "cscomp.h"
00024
00030 enum csDialogFrameStyle
00031 {
00033 csdfsNone,
00035 csdfsHorizontal,
00037 csdfsVertical,
00039 csdfsAround,
00041 csdfsBitmap
00042 };
00043
00059 class csDialog : public csComponent
00060 {
00061 protected:
00063 csDialogFrameStyle FrameStyle;
00065 int GridX, GridY;
00067 bool SnapSizeToGrid;
00069 csComponent *first;
00071 int BorderWidth, BorderHeight;
00073 uint8 Alpha, OverlayAlpha;
00075 csPixmap *FrameBitmap, *OverlayBitmap;
00077 bool delFrameBitmap, delOverlayBitmap;
00078
00079 public:
00081 csDialog (csComponent *iParent, csDialogFrameStyle iFrameStyle = csdfsNone);
00082
00084 virtual ~csDialog();
00085
00087 virtual bool HandleEvent (iEvent &Event);
00088
00095 void SetAutoGrid (int iDeltaX, int iDeltaY, bool iSnapSize)
00096 { GridX = iDeltaX; GridY = iDeltaY; SnapSizeToGrid = iSnapSize; }
00097
00099 virtual bool SetRect (int xmin, int ymin, int xmax, int ymax);
00100
00102 virtual void SuggestSize (int &w, int &h);
00103
00105 void GetBorderSize (int &w, int &h)
00106 { w = BorderWidth; h = BorderHeight; }
00108 void SetBorderSize (int w, int h);
00109
00111 virtual void FixSize (int &newW, int &newH);
00112
00114 inline csDialogFrameStyle GetFrameStyle ()
00115 { return FrameStyle; }
00117 void SetFrameStyle (csDialogFrameStyle iFrameStyle);
00118
00120 virtual char *GetSkinName ()
00121 { return "Dialog"; }
00122
00124 void SetAlpha (uint8 iAlpha);
00125
00127 void SetOverlayAlpha (uint8 iAlpha);
00128
00130 uint8 GetAlpha ()
00131 { return GetState (CSS_TRANSPARENT) ? Alpha : 0; }
00132
00134 uint8 GetOverlayAlpha ()
00135 { return GetState (CSS_TRANSPARENT) ? OverlayAlpha : 0; }
00136
00137
00139 void SetFrameBitmap(csPixmap *iFrameBitmap, bool iDelFrameBitmap);
00140
00142 void SetOverlayBitmap(csPixmap *iOverlayBitmap, bool iDelOverlayBitmap);
00143
00145 csPixmap *GetFrameBitmap()
00146 { return FrameBitmap; }
00147
00149 csPixmap *GetOverlayBitmap()
00150 { return OverlayBitmap; }
00151
00152 protected:
00154 void AdjustFocused (bool forward);
00156 static bool do_topleft (csComponent *comp, void *param);
00158 bool PlaceItems ();
00159 };
00160
00161 #endif // __CSDIALOG_H__