OpendTect  6.6
uiobjbodyimpl.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3 ________________________________________________________________________
4 
5  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
6  Author: Bert
7  Date: Feb 2018
8 ________________________________________________________________________
9 
10 -*/
11 
12 #include "uiobjbody.h"
13 
17 template <class C, class T>
18 mClass(uiBase) uiObjBodyImpl : public uiObjectBody, public T
19 {
20 public:
21  uiObjBodyImpl( C& hndle, uiParent* parnt,
22  const char* nm )
23  : uiObjectBody( parnt, nm )
24  , T( parnt && parnt->pbody() ?
25  parnt->pbody()->managewidg() : 0 )
26  , handle_( hndle )
27  {
28  this->setObjectName( nm );
29  }
30 
31  virtual const QWidget* qwidget_() const { return this; }
32  virtual void setFont( const QFont& )
33  {
34  if ( !uifont() ) { pErrMsg("no uifont!"); return; }
35  T::setFont( uifont()->qFont() );
36  }
37 
38  virtual void fontChange( const QFont& oldFont )
39  {
40  uiBody::fontchanged();
41  }
42 
43  virtual void closeEvent( QCloseEvent *e )
44  {
45  if ( uiCloseOK() )
46  T::closeEvent(e);
47  }
48 
49 protected:
50  virtual uiObject& uiObjHandle() { return handle_; }
51  C& handle_;
52 };
uiObjBodyImpl::setFont
virtual void setFont(const QFont &)
Definition: uiobjbodyimpl.h:32
uiObjBodyImpl::uiObjBodyImpl
uiObjBodyImpl(C &hndle, uiParent *parnt, const char *nm)
Definition: uiobjbodyimpl.h:21
uiObjBodyImpl::closeEvent
virtual void closeEvent(QCloseEvent *e)
Definition: uiobjbodyimpl.h:43
uiObjBodyImpl::fontChange
virtual void fontChange(const QFont &oldFont)
Definition: uiobjbodyimpl.h:38
uiObjBodyImpl
Default (Template) implementation of uiObjectBody.
Definition: uiobjbodyimpl.h:19
uiObjBodyImpl::handle_
C & handle_
Definition: uiobjbodyimpl.h:51
mClass
#define mClass(module)
Definition: commondefs.h:181
uiObjBodyImpl::qwidget_
virtual const QWidget * qwidget_() const
Definition: uiobjbodyimpl.h:31
pErrMsg
#define pErrMsg(msg)
Usual access point for programmer error messages.
Definition: errmsg.h:37
uiObjBodyImpl::uiObjHandle
virtual uiObject & uiObjHandle()
Definition: uiobjbodyimpl.h:50
uiObject
The base class for most UI elements.
Definition: uiobj.h:38
uiParent
Definition: uiparent.h:26
uiobjbody.h

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021