Hot Door CORE  0.7.1
Adobe® Illustrator® Plug-in Library
hdicorePanel.h
Go to the documentation of this file.
1 
7 #ifndef __HDI_CORE_PANEL__
8 #define __HDI_CORE_PANEL__
9 
10 #include "hdicoreImageIDs.h"
11 #include "hdicoreRect.h"
12 #include "hdicoreWindow.h"
13 
14 namespace hdi
15 {
16  namespace plugin
17  {
18  class Panel;
19  }
20 
21  namespace core
22  {
23  class Callback;
24  class Flyout;
25  class Widget;
26 
27  typedef AIPanelRef PlatformPanelPtr;
28 
32  class Panel : public Window
33  {
34  public:
38  static const double typicalWidth;
39 
50  Panel();
51 
59  Panel(const Panel& p_);
60 
75  Panel(
76  const std::string& name_,
77  const Size& size_,
78  const bool resizableW_,
79  const bool resizableH_,
80  const ImageIDs& iconIDs_
81  );
82 
88  virtual ~Panel();
89 
98  virtual Panel& operator=(const Panel& rhs_);
99 
113  virtual Panel* clone() const;
114 
125  virtual void destroy();
126 
138  virtual PlatformPanelPtr platformPanel() const;
139 
145  virtual void show();
146 
152  virtual void hide();
153 
161  virtual bool visible() const;
162 
172  virtual void setVisible(const bool visible_);
173 
182  virtual Rect frame() const;
183 
191  virtual void setFrame(const Rect& frame_);
192 
200  virtual void setSize(const Size& s_);
201 
209  virtual void setHeight(const double height_);
210 
219  virtual bool addWidget(const Widget& widget_);
220 
229  virtual bool removeWidget(const Widget& widget_);
230 
238  std::string title() const;
239 
247  void setTitle(const std::string& title_);
248 
259  virtual Flyout* const flyoutMenu() const;
260 
268  virtual void setFlyoutMenu(const Flyout& flyout_);
269 
277  virtual Callback* const showCallback() const;
278 
286  virtual void setShowCallback(const Callback& cb_);
287 
295  virtual Callback* const hideCallback() const;
296 
304  virtual void setHideCallback(const Callback& cb_);
305 
313  virtual Callback* const resizeCallback() const;
314 
322  virtual void setResizeCallback(const Callback& cb_);
323 
329  virtual void update() const;
330 
331 
332  private:
333  friend class Flyout;
334  friend plugin::Panel* __accessImpl(const Panel&);
335  friend Panel __accessCtor(plugin::Panel* const);
336 
342  void* __impl() const;
343 
349  Panel(plugin::Panel* const);
350  };
351 
352  typedef std::auto_ptr<Panel> PanelAP;
353 
354  extern plugin::Panel* __accessImpl(const Panel&);
355  extern Panel __accessCtor(plugin::Panel* const);
356  }
357 }
358 
359 #endif
360 // __HDI_CORE_PANEL__
Base class for all interface widgets; handles many common needs, e.g. text, position, size, etc.
Definition: hdicoreWidget.h:39
static const double typicalWidth
Most Illustrator panels are this width.
Definition: hdicorePanel.h:38
Header file for a class to create and manipulate Illustrator modal dialogs.
Header file for describing rectangles.
Flyout menu, which can be added to a Panel for additional options.
Definition: hdicoreFlyout.h:30
Contains Point and Size objects to describe a rectangle that exists at a specific point of given dime...
Definition: hdicoreRect.h:26
Base class for templated __Callback class.
Definition: hdicoreCallback.h:67
Contains a width and height for a rectangular shape.
Definition: hdicoreSize.h:24
Definition: hdicoreaiArray.h:12
Used as a base class for modal dialogs, panels, and control bars.
Definition: hdicoreWindow.h:25
Used to add a panel to Illustrator&#39;s UI and contain various UI widgets.
Definition: hdicorePanel.h:32
Header file for handling image IDs and their higher resolution variants.
Stores both light and dark image PNGI resource IDs, such that Illustrator UI brightness changes can b...
Definition: hdicoreImageIDs.h:20