Merge of SOC2010_RTC_IMAGES branch.
[wxWidgets.git] / include / wx / richtext / richtextimagedlg.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/richtext/richtextimagedlg.h
3 // Purpose:
4 // Author: Mingquan Yang
5 // Modified by:
6 // Created: Wed 02 Jun 2010 11:27:23 CST
7 // RCS-ID:
8 // Copyright: (c) Mingquan Yang
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _RICHTEXTIMAGEDLG_H_
13 #define _RICHTEXTIMAGEDLG_H_
14
15 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
16 #pragma interface "wx/richtext/richtextimagedlg.h"
17 #endif
18
19 /*!
20 * Includes
21 */
22 #include "wx/richtext/richtextbuffer.h"
23 ////@begin includes
24 #include "wx/statline.h"
25 ////@end includes
26
27 /*!
28 * Forward declarations
29 */
30
31 ////@begin forward declarations
32 ////@end forward declarations
33
34 /*!
35 * Control identifiers
36 */
37
38 ////@begin control identifiers
39 #define SYMBOL_WXRICHTEXTIMAGEDIALOG_STYLE wxDEFAULT_DIALOG_STYLE|wxTAB_TRAVERSAL
40 #define SYMBOL_WXRICHTEXTIMAGEDIALOG_TITLE _("Image Properties")
41 #define SYMBOL_WXRICHTEXTIMAGEDIALOG_IDNAME ID_WXRICHTEXTIMAGEPAGE
42 #define SYMBOL_WXRICHTEXTIMAGEDIALOG_SIZE wxSize(400, 300)
43 #define SYMBOL_WXRICHTEXTIMAGEDIALOG_POSITION wxDefaultPosition
44 ////@end control identifiers
45
46
47 /*!
48 * wxRichTextImageDialog class declaration
49 */
50
51 class WXDLLIMPEXP_RICHTEXT wxRichTextImageDialog: public wxDialog
52 {
53 DECLARE_DYNAMIC_CLASS( wxRichTextImageDialog )
54 DECLARE_EVENT_TABLE()
55
56 public:
57 /// Constructors
58 wxRichTextImageDialog();
59 wxRichTextImageDialog( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTIMAGEDIALOG_IDNAME, const wxString& caption = SYMBOL_WXRICHTEXTIMAGEDIALOG_TITLE, const wxPoint& pos = SYMBOL_WXRICHTEXTIMAGEDIALOG_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTIMAGEDIALOG_SIZE, long style = SYMBOL_WXRICHTEXTIMAGEDIALOG_STYLE );
60
61 /// Creation
62 bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTIMAGEDIALOG_IDNAME, const wxString& caption = SYMBOL_WXRICHTEXTIMAGEDIALOG_TITLE, const wxPoint& pos = SYMBOL_WXRICHTEXTIMAGEDIALOG_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTIMAGEDIALOG_SIZE, long style = SYMBOL_WXRICHTEXTIMAGEDIALOG_STYLE );
63
64 /// Destructor
65 ~wxRichTextImageDialog();
66
67 /// Initialises member variables
68 void Init();
69
70 /// Creates the controls and sizers
71 void CreateControls();
72
73 ////@begin wxRichTextImageDialog event handler declarations
74
75 /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTIMAGEDIALOG_PARA_UP
76 void OnRichtextimagedialogParaUpClick( wxCommandEvent& event );
77
78 /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTIMAGEDIALOG_DOWN
79 void OnRichtextimagedialogDownClick( wxCommandEvent& event );
80
81 ////@end wxRichTextImageDialog event handler declarations
82
83 ////@begin wxRichTextImageDialog member function declarations
84
85 /// Retrieves bitmap resources
86 wxBitmap GetBitmapResource( const wxString& name );
87
88 /// Retrieves icon resources
89 wxIcon GetIconResource( const wxString& name );
90 ////@end wxRichTextImageDialog member function declarations
91
92 /// Should we show tooltips?
93 static bool ShowToolTips();
94
95 /// Set the image attribute
96 void SetImageAttr(const wxRichTextAnchoredObjectAttr& attr);
97 wxRichTextImage* ApplyImageAttr();
98
99 /// Set the anchored object
100 void SetImageObject(wxRichTextImage *image, wxRichTextBuffer* buffer);
101
102 virtual bool TransferDataFromWindow();
103 virtual bool TransferDataToWindow();
104 private:
105 /// Convert CM to MM
106 bool ConvertFromString(const wxString& string, int& ret, int scale);
107 private:
108 wxRichTextAnchoredObjectAttr m_attr;
109 ////@begin wxRichTextImageDialog member variables
110 wxComboBox* m_alignment;
111 wxComboBox* m_float;
112 wxTextCtrl* m_width;
113 wxComboBox* m_unitsW;
114 wxTextCtrl* m_height;
115 wxComboBox* m_unitsH;
116 wxTextCtrl* m_offset;
117 wxComboBox* m_unitsOffset;
118 wxButton* m_saveButton;
119 wxButton* m_cancelButton;
120 /// Control identifiers
121 enum {
122 ID_WXRICHTEXTIMAGEPAGE = 10015,
123 ID_COMBOBOX_ALIGN = 10016,
124 ID_RICHTEXTIMAGEDIALOG_FLOATING_MODE = 10017,
125 ID_RICHTEXTIMAGEDIALOG_WIDTH = 10018,
126 ID_RICHTEXTIMAGEDIALOG_UNITS_W = 10019,
127 ID_RICHTEXTIMAGEDIALOG_HEIGHT = 10020,
128 ID_RICHTEXTIMAGEDIALOG_UNITS_H = 10021,
129 ID_RICHTEXTIMAGEDIALOG_OFFSET = 10022,
130 ID_RICHTEXTIMAGEDIALOG_OFFSET_UNITS = 10023,
131 ID_RICHTEXTIMAGEDIALOG_PARA_UP = 10024,
132 ID_RICHTEXTIMAGEDIALOG_DOWN = 10025
133 };
134 ////@end wxRichTextImageDialog member variables
135
136 wxRichTextBuffer* m_buffer;
137 wxRichTextObject* m_image;
138 wxRichTextObject* m_parent;
139 };
140
141 #endif
142 // _RICHTEXTIMAGEDLG_H_