#include #define LAYOUTFILE #include #define IMAGEFILE #include const Display& VarLblDisplay(bool selected); typedef Ctrl *(*CtrlCreator)(); class AliasMap { public: AliasMap() {} static String StdFileName(); bool IsEmpty() const { return obj_source.IsEmpty(); } bool Edit(); bool Load(const char *path); bool Save(const char *path); void SetDefault(); String Convert(const String& name) const; public: Vector obj_source; Vector obj_dest; }; class SelectedDisplay : public Display { virtual void Paint(Draw& w, const Rect& r, const Value& q, Color i, Color p, dword s) const; }; extern const SelectedDisplay SelDisplay; class LayoutDesigner : public Ctrl { public: virtual void Paint(Draw& w); virtual Image CursorImage(Point p, dword keyflags); virtual void LeftDown(Point p, dword keyflags); virtual void LeftRepeat(Point p, dword keyflags); virtual void LeftUp(Point p, dword keyflags); virtual void RightDown(Point p, dword keyflags); virtual void MouseMove(Point p, dword keyflags); virtual bool Key(dword key, int count); virtual void Layout(); virtual void Serialize(Stream& s); protected: enum { LEFT, CENTER, RIGHT, TOP = LEFT, BOTTOM = RIGHT, FORM, SELECTRECT, TRACKERSIZE = 6, SLEFT = 0, SRIGHT, STOP, SBOTTOM, }; enum ITEMPOS { POS_NONE, POS_AUTO, POS_LEFT, POS_CENTER, POS_RIGHT, POS_SIZE, POS_TOP = POS_LEFT, POS_BOTTOM = POS_RIGHT, }; struct ItemInfo { LogPos pos; String classname; String variable; String labelid; String helpid; Vector label; Vector help; dword hotkey; }; struct Form { String name; Size size; Array item; }; Array
layout; int layouti; int langi; DropList layoutlist; DropList langlist; CallbackArg classset; Point newctrl; WithGridLayout grid; bool usegrid; bool ignoremin; bool qlib2_output; WithMatrixLayout matrix; String filename; FileSel filesel; LRUList LruList; AliasMap alias_map; String alias_map_file; Rect selectrect; Point track; Vector itemi; Vector melta; Point delta; bool moved; bool cltm; Ctrl design; Splitter splital; ArrayCtrl itab; Splitter props; Splitter label_help_split; Ctrl class_var_lbl; WithDropChoice classname; EditString variable; DocEdit label; DocEdit help; struct DesignForm; friend struct DesignForm; struct DesignForm : public Ctrl { virtual void Paint(Draw& w) { ld->PaintForm(w); } LayoutDesigner *ld; }; DesignForm form; Array ctrl; Array ref_ctrl; Array mnem_ctrl; ScrollBars sb; struct AfterPaint; friend struct AfterPaint; struct AfterPaint : public Ctrl { virtual void Paint(Draw& w) { ld->PaintTrack(w); } LayoutDesigner *ld; }; AfterPaint apaint; MenuBar menubar; ToolBar toolbar; FrameRight