comparison libgui/graphics/Panel.cc @ 20002:3cc0734283dc

style fixes in Qt graphics code * Backend.cc, BaseControl.cc, ButtonControl.cc, Canvas.cc, CheckBoxControl.cc, Container.cc, ContextMenu.cc, EditControl.cc, Figure.cc, FigureWindow.cc, GLCanvas.cc, KeyMap.cc, ListBoxControl.cc, Logger.cc, Menu.cc, MouseModeActionGroup.cc, Object.cc, ObjectFactory.cc, ObjectProxy.cc, Panel.cc, PopupMenuControl.cc, PushButtonControl.cc, PushTool.cc, QtHandlesUtils.cc, RadioButtonControl.cc, SliderControl.cc, TextControl.cc, TextEdit.cc, ToggleButtonControl.cc, ToggleTool.cc, ToolBar.cc, ToolBarButton.cc, __init_qt__.cc: Follow a few more Octave coding conventions.
author John W. Eaton <jwe@octave.org>
date Thu, 19 Mar 2015 12:27:54 -0400
parents 2f4406e9dad6
children f0e61a67ad9f
comparison
equal deleted inserted replaced
20001:40b2c4323c16 20002:3cc0734283dc
37 #include "QtHandlesUtils.h" 37 #include "QtHandlesUtils.h"
38 38
39 namespace QtHandles 39 namespace QtHandles
40 { 40 {
41 41
42 static int frameStyleFromProperties (const uipanel::properties& pp) 42 static int
43 frameStyleFromProperties (const uipanel::properties& pp)
43 { 44 {
44 if (pp.bordertype_is ("none")) 45 if (pp.bordertype_is ("none"))
45 return QFrame::NoFrame; 46 return QFrame::NoFrame;
46 else if (pp.bordertype_is ("etchedin")) 47 else if (pp.bordertype_is ("etchedin"))
47 return (QFrame::Box | QFrame::Sunken); 48 return (QFrame::Box | QFrame::Sunken);
53 return (QFrame::Panel | QFrame::Raised); 54 return (QFrame::Panel | QFrame::Raised);
54 else 55 else
55 return (QFrame::Panel | QFrame::Plain); 56 return (QFrame::Panel | QFrame::Plain);
56 } 57 }
57 58
58 static void setupPalette (const uipanel::properties& pp, QPalette& p) 59 static void
60 setupPalette (const uipanel::properties& pp, QPalette& p)
59 { 61 {
60 p.setColor (QPalette::Window, 62 p.setColor (QPalette::Window,
61 Utils::fromRgb (pp.get_backgroundcolor_rgb ())); 63 Utils::fromRgb (pp.get_backgroundcolor_rgb ()));
62 p.setColor (QPalette::WindowText, 64 p.setColor (QPalette::WindowText,
63 Utils::fromRgb (pp.get_foregroundcolor_rgb ())); 65 Utils::fromRgb (pp.get_foregroundcolor_rgb ()));
65 Utils::fromRgb (pp.get_highlightcolor_rgb ())); 67 Utils::fromRgb (pp.get_highlightcolor_rgb ()));
66 p.setColor (QPalette::Dark, 68 p.setColor (QPalette::Dark,
67 Utils::fromRgb (pp.get_shadowcolor_rgb ())); 69 Utils::fromRgb (pp.get_shadowcolor_rgb ()));
68 } 70 }
69 71
70 static int borderWidthFromProperties (const uipanel::properties& pp) 72 static int
73 borderWidthFromProperties (const uipanel::properties& pp)
71 { 74 {
72 int bw = 0; 75 int bw = 0;
73 76
74 if (! pp.bordertype_is ("none")) 77 if (! pp.bordertype_is ("none"))
75 { 78 {
79 } 82 }
80 83
81 return bw; 84 return bw;
82 } 85 }
83 86
84 Panel* Panel::create (const graphics_object& go) 87 Panel*
88 Panel::create (const graphics_object& go)
85 { 89 {
86 Object* parent = Object::parentObject (go); 90 Object* parent = Object::parentObject (go);
87 91
88 if (parent) 92 if (parent)
89 { 93 {
95 99
96 return 0; 100 return 0;
97 } 101 }
98 102
99 Panel::Panel (const graphics_object& go, QFrame* frame) 103 Panel::Panel (const graphics_object& go, QFrame* frame)
100 : Object (go, frame), m_container (0), m_title (0), m_blockUpdates (false) 104 : Object (go, frame), m_container (0), m_title (0), m_blockUpdates (false)
101 { 105 {
102 uipanel::properties& pp = properties<uipanel> (); 106 uipanel::properties& pp = properties<uipanel> ();
103 107
104 frame->setObjectName ("UIPanel"); 108 frame->setObjectName ("UIPanel");
105 frame->setAutoFillBackground (true); 109 frame->setAutoFillBackground (true);
142 146
143 Panel::~Panel (void) 147 Panel::~Panel (void)
144 { 148 {
145 } 149 }
146 150
147 bool Panel::eventFilter (QObject* watched, QEvent* xevent) 151 bool
152 Panel::eventFilter (QObject* watched, QEvent* xevent)
148 { 153 {
149 if (! m_blockUpdates) 154 if (! m_blockUpdates)
150 { 155 {
151 if (watched == qObject ()) 156 if (watched == qObject ())
152 { 157 {
175 } 180 }
176 updateLayout (); 181 updateLayout ();
177 } 182 }
178 } 183 }
179 break; 184 break;
185
180 case QEvent::MouseButtonPress: 186 case QEvent::MouseButtonPress:
181 { 187 {
182 QMouseEvent* m = dynamic_cast<QMouseEvent*> (xevent); 188 QMouseEvent* m = dynamic_cast<QMouseEvent*> (xevent);
183 189
184 if (m->button () == Qt::RightButton) 190 if (m->button () == Qt::RightButton)
187 193
188 ContextMenu::executeAt (properties (), m->globalPos ()); 194 ContextMenu::executeAt (properties (), m->globalPos ());
189 } 195 }
190 } 196 }
191 break; 197 break;
198
192 default: 199 default:
193 break; 200 break;
194 } 201 }
195 } 202 }
196 else if (watched == m_container) 203 else if (watched == m_container)
203 gh_manager::auto_lock lock; 210 gh_manager::auto_lock lock;
204 211
205 properties ().update_boundingbox (); 212 properties ().update_boundingbox ();
206 } 213 }
207 break; 214 break;
215
208 default: 216 default:
209 break; 217 break;
210 } 218 }
211 } 219 }
212 } 220 }
213 221
214 return false; 222 return false;
215 } 223 }
216 224
217 void Panel::update (int pId) 225 void
226 Panel::update (int pId)
218 { 227 {
219 uipanel::properties& pp = properties<uipanel> (); 228 uipanel::properties& pp = properties<uipanel> ();
220 QFrame* frame = qWidget<QFrame> (); 229 QFrame* frame = qWidget<QFrame> ();
221 230
222 m_blockUpdates = true; 231 m_blockUpdates = true;
223 232
224 switch (pId) 233 switch (pId)
225 { 234 {
226 case uipanel::properties::ID_POSITION: 235 case uipanel::properties::ID_POSITION:
227 { 236 {
228 Matrix bb = pp.get_boundingbox (false); 237 Matrix bb = pp.get_boundingbox (false);
229 238
230 frame->setGeometry (xround (bb(0)), xround (bb(1)), 239 frame->setGeometry (xround (bb(0)), xround (bb(1)),
231 xround (bb(2)), xround (bb(3))); 240 xround (bb(2)), xround (bb(3)));
232 updateLayout (); 241 updateLayout ();
233 } 242 }
234 break; 243 break;
244
235 case uipanel::properties::ID_BORDERWIDTH: 245 case uipanel::properties::ID_BORDERWIDTH:
236 frame->setLineWidth (xround (pp.get_borderwidth ())); 246 frame->setLineWidth (xround (pp.get_borderwidth ()));
237 updateLayout (); 247 updateLayout ();
238 break; 248 break;
249
239 case uipanel::properties::ID_BACKGROUNDCOLOR: 250 case uipanel::properties::ID_BACKGROUNDCOLOR:
240 case uipanel::properties::ID_FOREGROUNDCOLOR: 251 case uipanel::properties::ID_FOREGROUNDCOLOR:
241 case uipanel::properties::ID_HIGHLIGHTCOLOR: 252 case uipanel::properties::ID_HIGHLIGHTCOLOR:
242 case uipanel::properties::ID_SHADOWCOLOR: 253 case uipanel::properties::ID_SHADOWCOLOR:
243 { 254 {
244 QPalette pal = frame->palette (); 255 QPalette pal = frame->palette ();
245 256
246 setupPalette (pp, pal); 257 setupPalette (pp, pal);
247 frame->setPalette (pal); 258 frame->setPalette (pal);
248 if (m_title) 259 if (m_title)
249 m_title->setPalette (pal); 260 m_title->setPalette (pal);
250 } 261 }
251 break; 262 break;
263
252 case uipanel::properties::ID_TITLE: 264 case uipanel::properties::ID_TITLE:
253 { 265 {
254 QString title = Utils::fromStdString (pp.get_title ()); 266 QString title = Utils::fromStdString (pp.get_title ());
255 267
256 if (title.isEmpty ()) 268 if (title.isEmpty ())
257 { 269 {
258 if (m_title) 270 if (m_title)
259 delete m_title; 271 delete m_title;
260 m_title = 0; 272 m_title = 0;
261 } 273 }
262 else 274 else
263 { 275 {
264 if (! m_title) 276 if (! m_title)
265 { 277 {
266 QPalette pal = frame->palette (); 278 QPalette pal = frame->palette ();
267 279
268 m_title = new QLabel (title, frame); 280 m_title = new QLabel (title, frame);
269 m_title->setAutoFillBackground (true); 281 m_title->setAutoFillBackground (true);
270 m_title->setContentsMargins (4, 0, 4, 0); 282 m_title->setContentsMargins (4, 0, 4, 0);
271 m_title->setPalette (pal); 283 m_title->setPalette (pal);
272 m_title->setFont (Utils::computeFont<uipanel> (pp)); 284 m_title->setFont (Utils::computeFont<uipanel> (pp));
273 m_title->show (); 285 m_title->show ();
274 } 286 }
275 else 287 else
276 { 288 {
277 m_title->setText (title); 289 m_title->setText (title);
278 m_title->resize (m_title->sizeHint ()); 290 m_title->resize (m_title->sizeHint ());
279 } 291 }
280 } 292 }
281 updateLayout (); 293 updateLayout ();
282 } 294 }
295 break;
296
283 case uipanel::properties::ID_TITLEPOSITION: 297 case uipanel::properties::ID_TITLEPOSITION:
284 updateLayout (); 298 updateLayout ();
285 break; 299 break;
300
286 case uipanel::properties::ID_BORDERTYPE: 301 case uipanel::properties::ID_BORDERTYPE:
287 frame->setFrameStyle (frameStyleFromProperties (pp)); 302 frame->setFrameStyle (frameStyleFromProperties (pp));
288 updateLayout (); 303 updateLayout ();
289 break; 304 break;
305
290 case uipanel::properties::ID_FONTNAME: 306 case uipanel::properties::ID_FONTNAME:
291 case uipanel::properties::ID_FONTSIZE: 307 case uipanel::properties::ID_FONTSIZE:
292 case uipanel::properties::ID_FONTWEIGHT: 308 case uipanel::properties::ID_FONTWEIGHT:
293 case uipanel::properties::ID_FONTANGLE: 309 case uipanel::properties::ID_FONTANGLE:
294 if (m_title) 310 if (m_title)
296 m_title->setFont (Utils::computeFont<uipanel> (pp)); 312 m_title->setFont (Utils::computeFont<uipanel> (pp));
297 m_title->resize (m_title->sizeHint ()); 313 m_title->resize (m_title->sizeHint ());
298 updateLayout (); 314 updateLayout ();
299 } 315 }
300 break; 316 break;
317
301 case uipanel::properties::ID_VISIBLE: 318 case uipanel::properties::ID_VISIBLE:
302 frame->setVisible (pp.is_visible ()); 319 frame->setVisible (pp.is_visible ());
303 updateLayout (); 320 updateLayout ();
304 break; 321 break;
322
305 default: 323 default:
306 break; 324 break;
307 } 325 }
308 326
309 m_blockUpdates = false; 327 m_blockUpdates = false;
310 } 328 }
311 329
312 void Panel::redraw (void) 330 void
331 Panel::redraw (void)
313 { 332 {
314 Canvas* canvas = m_container->canvas (m_handle); 333 Canvas* canvas = m_container->canvas (m_handle);
315 334
316 if (canvas) 335 if (canvas)
317 canvas->redraw (); 336 canvas->redraw ();
318 } 337 }
319 338
320 void Panel::updateLayout (void) 339 void
340 Panel::updateLayout (void)
321 { 341 {
322 uipanel::properties& pp = properties<uipanel> (); 342 uipanel::properties& pp = properties<uipanel> ();
323 QFrame* frame = qWidget<QFrame> (); 343 QFrame* frame = qWidget<QFrame> ();
324 344
325 Matrix bb = pp.get_boundingbox (true); 345 Matrix bb = pp.get_boundingbox (true);