10#if !defined(OWL_DECFRAME_H)
14#if defined(BI_HAS_PRAGMA_ONCE)
29template <
class R,
class T1>
class TFunctor1;
33#define TGadgetWnd_FUNCTOR(func) TFunctionTranslator1<TGadgetWindow*,TWindow*, TGadgetWindow* (*)(TWindow*)>(func)
34#define TGadgetWnd_MFUNCTOR(obj,memberFunc) TMemberTranslator1<TGadgetWindow*,TWindow*, TGadgetWindow* (obj::*)(TWindow*)>(obj, memberFunc);
41template <
class R,
class T1,
class T2,
class T3>
class TFunctor3;
44#define TBarInsert_FUNCTOR(func) TFunctionTranslator3<bool, TDecoratedFrame&, TGadgetWindow&, TAbsLocation, bool (*)(TDecoratedFrame&, TGadgetWindow&, TAbsLocation)>(func)
45#define TBarInsert_MFUNCTOR(obj,memberFunc) TMemberTranslator3<bool, TDecoratedFrame&, TGadgetWindow&, TAbsLocation, bool (obj::*)(TDecoratedFrame&, TGadgetWindow&, TAbsLocation)>(obj, memberFunc);
79 bool trackMenuSelection =
false,
97 virtual void Insert(
TWindow& decoration, TLocation location = Top);
106 auto PreProcessMsg(MSG&) ->
bool override;
107 auto SetClientWindow(
TWindow*) ->TWindow*
override;
124 auto MergeBar(
const TBarDescr&) ->
bool override;
125 auto RestoreBar() ->
bool override;
126 virtual bool CreateBar();
128 bool GetTrackMenuSelection()
const;
129 void SetTrackMenuSelection(
bool tr=
true);
131 uint GetMenuItemId()
const;
132 void SetMenuItemId(
uint menuitemid);
136 void SetupWindow()
override;
137 void CleanupWindow()
override;
138 void RemoveChild(
TWindow*)
override;
142 auto EvCommand(
uint id, HWND hWndCtl,
uint notifyCode) ->
TResult override;
147 void EvMenuSelect(
uint menuItemId,
uint flags, HMENU hMenu);
148 void EvEnterIdle(
uint source, HWND hWndDlg);
149 void EvSize(
uint sizeType,
const TSize& size);
152 bool TrackMenuSelection;
191 return TrackMenuSelection;
199 TrackMenuSelection = tr;
215 MenuItemId = menuitemid;
223 return BarCreatorFunct;
230 return BarInserterFunct;
Class definition for TBarDescr.
Descriptor of Bar Implementation.
Base class for an extensible interface for auto enabling/disabling of commands (menu items,...
TDecoratedFrame automatically positions its client window (you must supply a client window) so that i...
void SetMenuItemId(uint menuitemid)
Set the cached id of the current menu item.
TBarInsertFunctor * GetBarInserter()
TDecoratedFrame(TWindow *parent, LPCTSTR title, TWindow *clientWnd, bool trackMenuSelection=false, TModule *module=0)
Constructs a TDecoratedFrame object with the specified parent window (parent), window caption (title)...
TGadgetWndFunctor * GetBarCreator()
uint GetMenuItemId() const
Return cached id of the current menu item.
bool GetTrackMenuSelection() const
Returns true if the decorated frame is tracking the menu selections.
void SetTrackMenuSelection(bool tr=true)
Set the flag for tracking menu selection.
TLocation
Enumeration describing the possible locations of a Gadgetwindow [Used mainly for location of Toolbar ...
@ Bottom
Refers to bottom edge of frame.
@ None
No location specified.
@ Top
Refers to top edge of frame.
@ Left
Refers to left edge of frame.
@ Right
Refers to right edge of frame.
TFrameWindow(TWindow *parent, LPCTSTR title=nullptr, TWindow *clientWnd=nullptr, bool shrinkToClient=false, TModule *module=nullptr)
Constructs a window object with the parent window supplied in parent, which is zero if this is the ma...
virtual TWindow * SetClientWindow(TWindow *clientWnd)
Sets the client window to the specified window.
Functor with 1 parameter, return R.
Functor with 3 parameters, return R.
Derived from TWindow, TGadgetWindow maintains a list of tiled gadgets for a window and lets you dynam...
TLayoutWindow(TWindow *parent, LPCTSTR title=0, TModule *module=0)
Creates a TLayoutWindow object with specified parent, window caption, and library ID.
ObjectWindows dynamic-link libraries (DLLs) construct an instance of TModule, which acts as an object...
The tagSIZE struct is defined as.
TWindow, derived from TEventHandler and TStreamableBase, provides window-specific behavior and encaps...
#define DECLARE_RESPONSE_TABLE(cls)
Definition of class TFrameWindow.
#define DECLARE_STREAMABLE_OWL(cls, ver)
#define DECLARE_STREAMABLE_INLINES(cls)
@ htUserDefined
Can be used when enhancing 'GetHintText'.
@ htStatus
Text displayed on status bar.
@ htTooltip
Shorter text displayed in a tooltip.
@ alTop
Refers to top edge of frame.
@ alRight
Refers to right edge of frame.
@ alBottom
Refers to bottom edge of frame.
@ alLeft
Refers to left edge of frame.
@ alNone
No location specified.
Definition of classes TLayoutMetrics & TLayoutWindow.
Object Windows Library (OWLNext Core).
TFunctor3< bool, TDecoratedFrame &, TGadgetWindow &, TAbsLocation > TBarInsertFunctor
LRESULT TResult
Result type.
TFunctor1< TGadgetWindow *, TWindow * > TGadgetWndFunctor