home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / MNUBUILD.HPP < prev    next >
C/C++ Source or Header  |  1997-02-28  |  15KB  |  343 lines

  1. //----------------------------------------------------------------------------
  2. // Mnubuild.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
  3. // From: Mnubuild.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef MnubuildHPP
  6. #define MnubuildHPP
  7. //----------------------------------------------------------------------------
  8. #include <Dialogs.hpp>
  9. #include <LibMain.hpp>
  10. #include <LibIntf.hpp>
  11. #include <DsgnIntf.hpp>
  12. #include <MenuTmpl.hpp>
  13. #include <Menus.hpp>
  14. #include <Controls.hpp>
  15. #include <Forms.hpp>
  16. #include <Graphics.hpp>
  17. #include <Classes.hpp>
  18. #include <Messages.hpp>
  19. #include <Windows.hpp>
  20. #include <System.hpp>
  21. #pragma warn -par
  22. #pragma warn -hid 
  23. #pragma warn -inl
  24.  
  25. namespace Mnubuild
  26. {
  27. //-- type declarations -------------------------------------------------------
  28. enum Mnubuild_1 { svVertical, svHorizontal };
  29.  
  30. typedef Set<Mnubuild_1, svVertical, svHorizontal>  TScrollVisibility;
  31.  
  32. enum Mnubuild_2 { fwHomeVert, fwHomeHorz };
  33.  
  34. typedef Set<Mnubuild_2, fwHomeVert, fwHomeHorz>  THomeValue;
  35.  
  36. class __declspec(delphiclass) TMenuItemWin;
  37. class __declspec(pascalimplementation) TMenuItemWin : public Controls::TCustomControl
  38. {
  39.     typedef Controls::TCustomControl inherited;
  40.     
  41. private:
  42.     int FCaptionExtent;
  43.     Menus::TMenuItem* FMenuItem;
  44.     bool FSelected;
  45.     int FShortCutExtent;
  46.     void __fastcall DoSetColor(bool IsSelected);
  47.     int __fastcall GetCaptionExtent(void);
  48.     Menus::TMenuItem* __fastcall GetMenuItem(void);
  49.     void __fastcall PaintItemFocusRect(void);
  50.     void __fastcall PaintItemGlyph(bool OnLeft, int bmpID);
  51.     void __fastcall PaintItemShortcut(Word DrawFmt);
  52.     void __fastcall PaintItemText(Word DrawFmt);
  53.     void __fastcall PaintSeparator(void);
  54.     void __fastcall SetMenuItem(Menus::TMenuItem* Value);
  55.     void __fastcall SetSelected(bool Value);
  56.     
  57. protected:
  58.     virtual void __fastcall Paint(void);
  59.     MESSAGE void __fastcall WMGetDlgCode(Messages::TWMNoParams &Message);
  60.     
  61. public:
  62.     __fastcall virtual TMenuItemWin(Classes::TComponent* AOwner);
  63.     __fastcall virtual ~TMenuItemWin(void);
  64.     bool __fastcall SetExtentValues(void);
  65.     __property int CaptionExtent = {read=GetCaptionExtent, nodefault};
  66.     __property Menus::TMenuItem* MenuItem = {read=GetMenuItem, write=SetMenuItem, nodefault};
  67.     __property bool Selected = {read=FSelected, write=SetSelected, nodefault};
  68.     __property int ShortCutExtent = {read=FShortCutExtent, nodefault};
  69. public:
  70.     /* TWinControl.CreateParented */ __fastcall TMenuItemWin(HWND ParentWindow) : Controls::TCustomControl(
  71.         ParentWindow) { }
  72.     
  73. };
  74.  
  75. class __declspec(delphiclass) TMenuWin;
  76. class __declspec(pascalimplementation) TMenuWin : public Controls::TCustomControl
  77. {
  78.     typedef Controls::TCustomControl inherited;
  79.     
  80. private:
  81.     bool FDoingDelete;
  82.     int FLastBlockIndex;
  83.     int FItemMargin;
  84.     bool FMouseDownOnSelected;
  85.     TMenuWin* FNextLevel;
  86.     TMenuWin* FPrevLevel;
  87.     Classes::TShiftState FShiftState;
  88.     Menus::TMenuItem* FWorkMenu;
  89.     TMenuItemWin* __fastcall CreateAndPositionNewItem(void);
  90.     int __fastcall FindControlIndex(TMenuItemWin* ItemCtl);
  91.     int __fastcall GetItemsSelected(void);
  92.     int __fastcall GetLongestCaption(void);
  93.     int __fastcall GetLongestShortCut(void);
  94.     void __fastcall HideNextLevels(void);
  95.     void __fastcall ItemDblClick(System::TObject* Sender);
  96.     void __fastcall ItemGotFocus(Controls::TWinControl* Sender);
  97.     void __fastcall ItemKeyDown(System::TObject* Sender, Word &Key, Classes::TShiftState Shift);
  98.     void __fastcall ItemKeyPress(System::TObject* Sender, char &Key);
  99.     void __fastcall ItemOnMouseDown(System::TObject* Sender, Controls::TMouseButton Button, Classes::TShiftState 
  100.         Shift, int X, int Y);
  101.     void __fastcall NewMenuItem(TMenuItemWin* Sender, Classes::TShiftState Shift);
  102.     void __fastcall NewSubMenu(TMenuItemWin* Sender);
  103.     void __fastcall RemoveMenuItem(TMenuItemWin* Sender);
  104.     void __fastcall SetItemProperties(TMenuItemWin* ItemCtl);
  105.     void __fastcall SizeItemWindows(void);
  106.     bool __fastcall VerifyWindowsMatchMenu(Menus::TMenuItem* Item);
  107.     void __fastcall WidenItems(int NewWidth);
  108.     HIDESBASE MESSAGE void __fastcall CMFocusChanged(Controls::TCMFocusChanged &Message);
  109.     void __fastcall DoDragDrop(System::TObject* Sender, System::TObject* Source, int X, int Y);
  110.     void __fastcall DoDragOver(System::TObject* Sender, System::TObject* Source, int X, int Y, Controls::TDragState 
  111.         State, bool &Accept);
  112.     HIDESBASE void __fastcall DoEndDrag(System::TObject* Sender, System::TObject* Target, int X, int Y)
  113.         ;
  114.     void __fastcall InitDragDrop(void);
  115.     
  116. protected:
  117.     virtual void __fastcall Paint(void);
  118.     bool __fastcall TreatAsMenuBar(void);
  119.     
  120. public:
  121.     __fastcall virtual TMenuWin(Classes::TComponent* AOwner);
  122.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  123.     void __fastcall AdjustAfterParentSize(void);
  124.     TMenuItemWin* __fastcall GetActiveItem(TMenuWin* MenuWin);
  125.     TMenuItemWin* __fastcall GetWindowForItem(Menus::TMenuItem* Item);
  126.     void __fastcall InsertMenuTemplate(TMenuItemWin* Sender, Menutmpl::TMenuTemplate* Template);
  127.     bool __fastcall IsAncestorLevel(TMenuWin* MenuWin);
  128.     bool __fastcall IsLastItemEmpty(void);
  129.     bool __fastcall IsParentLevel(TMenuWin* MenuWin, TMenuItemWin* ItemCtl);
  130.     void __fastcall MenuInvalidNotification(void);
  131.     void __fastcall NavItemUD(TMenuItemWin* Sender, Word Key, Classes::TShiftState Shift);
  132.     void __fastcall NavItemLR(TMenuItemWin* Sender, Word Key, Classes::TShiftState Shift);
  133.     void __fastcall NavItemIncrement(TMenuItemWin* Sender, bool Forward, Classes::TShiftState Shift);
  134.     void __fastcall PositionAfterParentSize(TMenuWin* AMenuWin);
  135.     void __fastcall ResetAllSelections(void);
  136.     void __fastcall SetPosition(bool DoPosition);
  137.     void __fastcall SetWorkMenu(Menus::TMenuItem* Value);
  138.     void __fastcall StreamSelections(Classes::TMemoryStream* S, Classes::TComponent* Root);
  139.     void __fastcall UpdateMenuAssignments(void);
  140.     void __fastcall UpdateNotification(void);
  141.     void __fastcall UpdatePropertyInspector(void);
  142.     __property int ItemMargin = {read=FItemMargin, nodefault};
  143.     __property int ItemsSelected = {read=GetItemsSelected, nodefault};
  144.     __property int LastBlockIndex = {read=FLastBlockIndex, write=FLastBlockIndex, nodefault};
  145.     __property int LongestCaption = {read=GetLongestCaption, nodefault};
  146.     __property Classes::TShiftState MouseDownShiftState = {read=FShiftState, write=FShiftState, nodefault
  147.         };
  148.     __property bool MouseDownOnSelected = {read=FMouseDownOnSelected, write=FMouseDownOnSelected, nodefault
  149.         };
  150.     __property Menus::TMenuItem* WorkMenu = {read=FWorkMenu, write=SetWorkMenu, nodefault};
  151. public:
  152.     /* TCustomControl.Destroy */ __fastcall virtual ~TMenuWin(void) { }
  153.     
  154. public:
  155.     /* TWinControl.CreateParented */ __fastcall TMenuWin(HWND ParentWindow) : Controls::TCustomControl(
  156.         ParentWindow) { }
  157.     
  158. };
  159.  
  160. class __declspec(delphiclass) TMenuBuilder;
  161. class __declspec(pascalimplementation) TMenuBuilder : public Forms::TForm
  162. {
  163.     typedef Forms::TForm inherited;
  164.     
  165. __published:
  166.     Menus::TPopupMenu* PopupMenu1;
  167.     Menus::TMenuItem* PopupMenu1SelectMenu;
  168.     Menus::TMenuItem* PopupMenu1SaveAsTemplate;
  169.     Menus::TMenuItem* PopupMenu1InsertFromTemplate;
  170.     Menus::TMenuItem* PopupMenu1DeleteTemplates;
  171.     Menus::TMenuItem* InsertItem;
  172.     Menus::TMenuItem* DeleteItem;
  173.     Menus::TMenuItem* CreateSubmenu1;
  174.     Menus::TMenuItem* N1;
  175.     Menus::TMenuItem* InsertResourceItem;
  176.     Dialogs::TOpenDialog* LoadMenuDlg;
  177.     void __fastcall FormResize(System::TObject* Sender);
  178.     void __fastcall FormActivate(System::TObject* Sender);
  179.     void __fastcall FormDeactivate(System::TObject* Sender);
  180.     void __fastcall FormMouseDown(System::TObject* Sender, Controls::TMouseButton Button, Classes::TShiftState 
  181.         Shift, int X, int Y);
  182.     void __fastcall FormCreate(System::TObject* Sender);
  183.     void __fastcall FormDestroy(System::TObject* Sender);
  184.     void __fastcall PopupMenu1SelectMenuClick(System::TObject* Sender);
  185.     void __fastcall PopupMenu1SaveAsTemplateClick(System::TObject* Sender);
  186.     void __fastcall PopupMenu1InsertFromTemplateClick(System::TObject* Sender);
  187.     void __fastcall PopupMenu1DeleteTemplatesClick(System::TObject* Sender);
  188.     void __fastcall PopupMenu1Popup(System::TObject* Sender);
  189.     void __fastcall InsertItemClick(System::TObject* Sender);
  190.     void __fastcall DeleteItemClick(System::TObject* Sender);
  191.     void __fastcall CreateSubmenu1Click(System::TObject* Sender);
  192.     void __fastcall InsertResourceItemClick(System::TObject* Sender);
  193.     
  194. private:
  195.     System::AnsiString FCaptionMenu;
  196.     System::AnsiString FCaptionOwner;
  197.     int FMenuHeight;
  198.     int FBitMapWidth;
  199.     Libmain::TLibForm* FLibForm;
  200.     bool FDoingPopup;
  201.     bool FDragAny;
  202.     TMenuItemWin* FDragControl;
  203.     Classes::TList* FDragList;
  204.     TMenuWin* FFirstWin;
  205.     bool FMainMenu;
  206.     bool FSelectCaption;
  207.     Classes::TComponent* FMenuOwner;
  208.     TMenuItemWin* FSpecialActive;
  209.     Menutmpl::TMenuTemplateManager* FTemplateManager;
  210.     Menus::TMenuItem* FWorkMenu;
  211.     int FStateFlags;
  212.     bool FActive;
  213.     TScrollVisibility __fastcall GetScrollVisibility(void);
  214.     THomeValue __fastcall IsFirstWindowHome(void);
  215.     bool __fastcall IsInDDList(TMenuWin* MenuWin);
  216.     HIDESBASE MESSAGE void __fastcall WMActivate(Messages::TWMActivate &Message);
  217.     HIDESBASE MESSAGE void __fastcall WMWinIniChange(Messages::TMessage &Message);
  218.     
  219. protected:
  220.     virtual void __fastcall ActiveChanged(void);
  221.     
  222. public:
  223.     HIDESBASE void __fastcall Activate(void);
  224.     void __fastcall AdjustScrollBars(void);
  225.     void __fastcall BuildCaptionFromPieces(void);
  226.     void __fastcall ClearWorkMenu(Menus::TMenuItem* AMenu);
  227.     TMenuItemWin* __fastcall GetActiveItem(TMenuWin* MenuWin);
  228.     Menus::TMenuItem* __fastcall GetANewMenu(bool ItemOnly);
  229.     TMenuWin* __fastcall GetSubWinForItem(TMenuItemWin* ItemCtl);
  230.     void __fastcall ItemGotFocus(TMenuWin* MenuWin, TMenuItemWin* MenuCtl);
  231.     void __fastcall NewPopup(TMenuWin* MenuWin, TMenuItemWin* MenuCtl);
  232.     void __fastcall ResetAllSelections(TMenuWin* Sender);
  233.     void __fastcall SetSelection(Libmain::TLibForm* Form, Dsgnintf::TComponentList* Selection);
  234.     void __fastcall UpdatePropertyInspector(Dsgnintf::TComponentList* Selection);
  235.     bool __fastcall CheckDragAcceptance(TMenuWin* StartWin, TMenuItemWin* StartCtl);
  236.     void __fastcall ClearDragState(void);
  237.     void __fastcall HandleAltF10(Classes::TShiftState Shift, Word &Key);
  238.     void __fastcall ReConstructDDList(void);
  239.     void __fastcall RemovalNotification(Classes::TComponent* AComponent);
  240.     void __fastcall SetDragState(TMenuWin* StartWin, TMenuItemWin* StartControl);
  241.     HIDESBASE void __fastcall SetMenu(Menus::TMenuItem* AMenu, Libmain::TLibForm* ALibForm);
  242.     void __fastcall SetWorkMenu(Menus::TMenuItem* Value, bool SetActiveControl);
  243.     void __fastcall UpdateNotification(void);
  244.     void __fastcall PerformUpdate(void);
  245.     void __fastcall Cut(void);
  246.     void __fastcall Copy(void);
  247.     void __fastcall Paste(void);
  248.     void __fastcall Delete(void);
  249.     Libintf::TEditState __fastcall GetEditState(void);
  250.     void __fastcall EditAction(Libintf::TEditAction Action);
  251.     __property int BitMapWidth = {read=FBitMapWidth, nodefault};
  252.     __property bool DragAny = {read=FDragAny, write=FDragAny, nodefault};
  253.     __property TMenuItemWin* DragControl = {read=FDragControl, write=FDragControl, nodefault};
  254.     __property TMenuWin* FirstWindow = {read=FFirstWin, nodefault};
  255.     __property int StateFlags = {read=FStateFlags, write=FStateFlags, nodefault};
  256.     __property int MenuHeight = {read=FMenuHeight, nodefault};
  257.     __property Libmain::TLibForm* LibForm = {read=FLibForm, nodefault};
  258.     __property bool MainMenu = {read=FMainMenu, nodefault};
  259.     __property Classes::TComponent* MenuOwner = {read=FMenuOwner, write=FMenuOwner, nodefault};
  260.     __property TScrollVisibility ScrollVisibility = {read=GetScrollVisibility, nodefault};
  261.     __property bool SelectCaption = {read=FSelectCaption, write=FSelectCaption, nodefault};
  262.     __property TMenuItemWin* SpecialActive = {read=FSpecialActive, write=FSpecialActive, nodefault};
  263.     __property bool Active = {read=FActive, nodefault};
  264.     __property Menus::TMenuItem* WorkMenu = {read=FWorkMenu, nodefault};
  265. public:
  266.     /* TForm.Create */ __fastcall virtual TMenuBuilder(Classes::TComponent* AOwner) : Forms::TForm(AOwner
  267.         ) { }
  268.     /* TForm.CreateNew */ __fastcall TMenuBuilder(Classes::TComponent* AOwner, int Dummy) : Forms::TForm(
  269.         AOwner, Dummy) { }
  270.     /* TForm.Destroy */ __fastcall virtual ~TMenuBuilder(void) { }
  271.     
  272. public:
  273.     /* TWinControl.CreateParented */ __fastcall TMenuBuilder(HWND ParentWindow) : Forms::TForm(ParentWindow
  274.         ) { }
  275.     
  276. };
  277.  
  278. class __declspec(delphiclass) TMenuItemProperty;
  279. class __declspec(pascalimplementation) TMenuItemProperty : public Dsgnintf::TPropertyEditor
  280. {
  281.     typedef Dsgnintf::TPropertyEditor inherited;
  282.     
  283. public:
  284.     virtual System::AnsiString __fastcall GetValue(void);
  285.     virtual Dsgnintf::TPropertyAttributes __fastcall GetAttributes(void);
  286.     virtual void __fastcall Edit(void);
  287. public:
  288.     /* TPropertyEditor.Destroy */ __fastcall virtual ~TMenuItemProperty(void) { }
  289.     
  290. public:
  291.     /* TObject.Create */ __fastcall TMenuItemProperty(void) : Dsgnintf::TPropertyEditor() { }
  292.     
  293. };
  294.  
  295. class __declspec(delphiclass) TMenuEditor;
  296. class __declspec(pascalimplementation) TMenuEditor : public Dsgnintf::TComponentEditor
  297. {
  298.     typedef Dsgnintf::TComponentEditor inherited;
  299.     
  300. public:
  301.     virtual void __fastcall Edit(void);
  302.     virtual void __fastcall ExecuteVerb(int Index);
  303.     virtual System::AnsiString __fastcall GetVerb(int Index);
  304.     virtual int __fastcall GetVerbCount(void);
  305. public:
  306.     /* TComponentEditor.Create */ __fastcall virtual TMenuEditor(Classes::TComponent* AComponent, Dsgnintf::TFormDesigner* 
  307.         ADesigner) : Dsgnintf::TComponentEditor(AComponent, ADesigner) { }
  308.     
  309. public:
  310.     /* TObject.Destroy */ __fastcall virtual ~TMenuEditor(void) { }
  311.     
  312. };
  313.  
  314. //-- var, const, procedure ---------------------------------------------------
  315. #define obm_MnArrow (Word)(32739)
  316. #define obm_Check (Word)(32760)
  317. #define hcMenuDesigner (Word)(1275)
  318. #define sfNoState (Byte)(0)
  319. #define sfInUpdate (Byte)(1)
  320. #define sfOISetSel (Byte)(2)
  321. #define sfChicago (Byte)(4)
  322. #define sfSBAdjust (Byte)(8)
  323. #define adjDelta (Byte)(4)
  324. extern TMenuBuilder* MenuEditor;
  325. extern void __fastcall InitMenuBuilder(void);
  326. extern void __fastcall DoneMenuBuilder(void);
  327. //-- template instantiations -------------------------------------------------
  328. template class Classes::TShiftState ;
  329. template class THomeValue ;
  330. template class TScrollVisibility ;
  331.  
  332. }    /* namespace Mnubuild */
  333.  
  334. #pragma warn .par
  335. #pragma warn .hid 
  336. #pragma warn .inl
  337.  
  338. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  339. using namespace Mnubuild;
  340. #endif
  341. //-- end unit ----------------------------------------------------------------
  342. #endif    // Mnubuild
  343.