BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
qdesigner_internal::WidgetBox Class Reference
Inheritance diagram for qdesigner_internal::WidgetBox:
[legend]
Collaboration diagram for qdesigner_internal::WidgetBox:
[legend]

Public Types

enum  LoadMode { LoadMerge , LoadReplace , LoadCustomWidgetsOnly }
 

Public Member Functions

 WidgetBox (SampleDesignerInterface *core, QWidget *parent=nullptr, Qt::WindowFlags flags={})
 
virtual ~WidgetBox ()
 
virtual void addCategory (const Category &cat)
 
virtual void addWidget (int cat_idx, const Widget &wgt)
 
virtual Category category (int cat_idx) const
 
virtual int categoryCount () const
 
SampleDesignerInterfacecore () const
 
void dropWidgets (const QList< QDesignerDnDItemInterface * > &item_list, const QPoint &global_mouse_pos)
 
virtual QString fileName () const
 
virtual QIcon iconForWidget (const QString &className, const QString &category="") const
 
virtual bool load ()
 
virtual bool loadContents (const QString &contents)
 
LoadMode loadMode () const
 
virtual void removeCategory (int cat_idx)
 
virtual void removeWidget (int cat_idx, int wgt_idx)
 
virtual bool save ()
 
virtual void setFileName (const QString &file_name)
 
void setLoadMode (LoadMode lm)
 
virtual Widget widget (int cat_idx, int wgt_idx) const
 
virtual int widgetCount (int cat_idx) const
 

Static Public Member Functions

static bool findWidget (const QDesignerWidgetBoxInterface *wbox, const QString &className, const QString &category, Widget *widgetData)
 
static DomUIxmlToUi (const QString &name, const QString &xml, bool insertFakeTopLevel)
 
static DomUIxmlToUi (const QString &name, const QString &xml, bool insertFakeTopLevel, QString *errorMessage)
 

Protected Member Functions

virtual void dragEnterEvent (QDragEnterEvent *event)
 
virtual void dragMoveEvent (QDragMoveEvent *event)
 
virtual void dropEvent (QDropEvent *event)
 

Private Slots

void handleMousePress (const QString &name, const QString &xml, const QPoint &global_mouse_pos)
 

Private Attributes

SampleDesignerInterfacem_core
 
LoadMode m_loadMode
 
WidgetBoxTreeWidgetm_view
 

Detailed Description

Definition at line 61 of file widgetbox.h.

Member Enumeration Documentation

◆ LoadMode

Constructor & Destructor Documentation

◆ WidgetBox()

qdesigner_internal::WidgetBox::WidgetBox ( SampleDesignerInterface core,
QWidget *  parent = nullptr,
Qt::WindowFlags  flags = {} 
)
explicit

Definition at line 110 of file widgetbox.cpp.

111  : QDesignerWidgetBox(parent, flags), m_core(core), m_view(new WidgetBoxTreeWidget(m_core))
112 {
113  QVBoxLayout* l = new QVBoxLayout(this);
114  l->setMargin(0);
115  l->setSpacing(0);
116 
117  // Prevent the filter from grabbing focus since Our view has Qt::NoFocus
118  QToolBar* toolBar = new QToolBar(this);
119  QLineEdit* filterWidget = new WidgetBoxFilterLineEdit(toolBar);
120  filterWidget->setPlaceholderText("Filter");
121  filterWidget->setClearButtonEnabled(true);
122  connect(filterWidget, SIGNAL(textChanged(QString)), m_view, SLOT(filter(QString)));
123  toolBar->addWidget(filterWidget);
124  l->addWidget(toolBar);
125 
126  // View
127  connect(m_view, SIGNAL(pressed(QString, QString, QPoint)), this,
128  SLOT(handleMousePress(QString, QString, QPoint)));
129  l->addWidget(m_view);
130 
131  setAcceptDrops(true);
132 
133  // QVBoxLayout *l = new QVBoxLayout(this);
134  // l->setMargin(0);
135  // l->setSpacing(0);
136 
137  // // Prevent the filter from grabbing focus since Our view has Qt::NoFocus
138  // FilterWidget *filterWidget = new FilterWidget(0, FilterWidget::LayoutAlignNone);
139  // filterWidget->setRefuseFocus(true);
140  // connect(filterWidget, SIGNAL(filterChanged(QString)), m_view, SLOT(filter(QString)));
141 
142  // QToolBar *toolBar = new QToolBar(this);
143  // toolBar->addWidget(filterWidget);
144  // l->addWidget(toolBar);
145 
146  // // View
147  // connect(m_view, SIGNAL(pressed(QString,QString,QPoint)),
148  // this, SLOT(handleMousePress(QString,QString,QPoint)));
149  // l->addWidget(m_view);
150 
151  // setAcceptDrops (true);
152 }
QDesignerWidgetBox(QWidget *parent=0, Qt::WindowFlags flags={})
SampleDesignerInterface * core() const
Definition: widgetbox.cpp:161
SampleDesignerInterface * m_core
Definition: widgetbox.h:104
WidgetBoxTreeWidget * m_view
Definition: widgetbox.h:106
void handleMousePress(const QString &name, const QString &xml, const QPoint &global_mouse_pos)
Definition: widgetbox.cpp:166

References handleMousePress(), and m_view.

Here is the call graph for this function:

◆ ~WidgetBox()

qdesigner_internal::WidgetBox::~WidgetBox ( )
virtualdefault

Member Function Documentation

◆ addCategory()

void qdesigner_internal::WidgetBox::addCategory ( const Category &  cat)
virtual

Definition at line 187 of file widgetbox.cpp.

188 {
189  m_view->addCategory(cat);
190 }

References qdesigner_internal::WidgetBoxTreeWidget::addCategory(), and m_view.

Here is the call graph for this function:

◆ addWidget()

void qdesigner_internal::WidgetBox::addWidget ( int  cat_idx,
const Widget &  wgt 
)
virtual

Definition at line 207 of file widgetbox.cpp.

208 {
209  m_view->addWidget(cat_idx, wgt);
210 }
void addWidget(int cat_idx, const Widget &wgt)

References qdesigner_internal::WidgetBoxTreeWidget::addWidget(), and m_view.

Here is the call graph for this function:

◆ category()

QDesignerWidgetBoxInterface::Category qdesigner_internal::WidgetBox::category ( int  cat_idx) const
virtual

Definition at line 182 of file widgetbox.cpp.

183 {
184  return m_view->category(cat_idx);
185 }

References qdesigner_internal::WidgetBoxTreeWidget::category(), and m_view.

Referenced by iconForWidget().

Here is the call graph for this function:

◆ categoryCount()

int qdesigner_internal::WidgetBox::categoryCount ( ) const
virtual

Definition at line 177 of file widgetbox.cpp.

178 {
179  return m_view->categoryCount();
180 }

References qdesigner_internal::WidgetBoxTreeWidget::categoryCount(), and m_view.

Here is the call graph for this function:

◆ core()

SampleDesignerInterface * qdesigner_internal::WidgetBox::core ( ) const

Definition at line 161 of file widgetbox.cpp.

162 {
163  return m_core;
164 }

References m_core.

◆ dragEnterEvent()

void qdesigner_internal::WidgetBox::dragEnterEvent ( QDragEnterEvent *  event)
protectedvirtual

Definition at line 269 of file widgetbox.cpp.

270 {
271  // We accept event originating from the widget box also here,
272  // because otherwise Windows will not show the DnD pixmap.
273  checkDragEvent(event, true);
274 }
static const QDesignerMimeData * checkDragEvent(QDropEvent *event, bool acceptEventsFromWidgetBox)
Definition: widgetbox.cpp:248

References qdesigner_internal::checkDragEvent().

Here is the call graph for this function:

◆ dragMoveEvent()

void qdesigner_internal::WidgetBox::dragMoveEvent ( QDragMoveEvent *  event)
protectedvirtual

Definition at line 276 of file widgetbox.cpp.

277 {
278  checkDragEvent(event, true);
279 }

References qdesigner_internal::checkDragEvent().

Here is the call graph for this function:

◆ dropEvent()

void qdesigner_internal::WidgetBox::dropEvent ( QDropEvent *  event)
protectedvirtual

Definition at line 281 of file widgetbox.cpp.

282 {
283  const QDesignerMimeData* mimeData = checkDragEvent(event, false);
284  if (!mimeData)
285  return;
286 
287  dropWidgets(mimeData->items(), event->pos());
289 }
static void removeMovedWidgetsFromSourceForm(const QDesignerDnDItems &items)
void dropWidgets(const QList< QDesignerDnDItemInterface * > &item_list, const QPoint &global_mouse_pos)
Definition: widgetbox.cpp:217

References qdesigner_internal::checkDragEvent(), dropWidgets(), qdesigner_internal::QDesignerMimeData::items(), and qdesigner_internal::QDesignerMimeData::removeMovedWidgetsFromSourceForm().

Here is the call graph for this function:

◆ dropWidgets()

void qdesigner_internal::WidgetBox::dropWidgets ( const QList< QDesignerDnDItemInterface * > &  item_list,
const QPoint &  global_mouse_pos 
)

Definition at line 217 of file widgetbox.cpp.

218 {
219  m_view->dropWidgets(item_list);
220 }
void dropWidgets(const QList< QDesignerDnDItemInterface * > &item_list)

References qdesigner_internal::WidgetBoxTreeWidget::dropWidgets(), and m_view.

Referenced by dropEvent().

Here is the call graph for this function:

◆ fileName()

QString qdesigner_internal::WidgetBox::fileName ( ) const
virtual

Definition at line 227 of file widgetbox.cpp.

228 {
229  return m_view->fileName();
230 }

References qdesigner_internal::WidgetBoxTreeWidget::fileName(), and m_view.

Here is the call graph for this function:

◆ findWidget()

static bool qdesigner_internal::QDesignerWidgetBox::findWidget ( const QDesignerWidgetBoxInterface *  wbox,
const QString &  className,
const QString &  category,
Widget *  widgetData 
)
staticinherited

Referenced by iconForWidget().

◆ handleMousePress

void qdesigner_internal::WidgetBox::handleMousePress ( const QString &  name,
const QString &  xml,
const QPoint &  global_mouse_pos 
)
privateslot

Definition at line 166 of file widgetbox.cpp.

168 {
169  Q_UNUSED(global_mouse_pos);
170  if (QApplication::mouseButtons() != Qt::LeftButton)
171  return;
172 
173  // std::cout << "WidgetBox::handleMousePress() -> name:" << name.toStdString() << std::endl;
174  DesignerMimeData::execDrag(name, xml, this);
175 }
static Qt::DropAction execDrag(const QString &name, const QString &xmldescr, QWidget *dragSource)
Execute a drag and drop operation.
QString const & name(EShape k)
Definition: particles.cpp:21

References DesignerMimeData::execDrag(), and RealSpace::Particles::name().

Referenced by WidgetBox().

Here is the call graph for this function:

◆ iconForWidget()

QIcon qdesigner_internal::WidgetBox::iconForWidget ( const QString &  className,
const QString &  category = "" 
) const
virtual

Implements qdesigner_internal::QDesignerWidgetBox.

Definition at line 291 of file widgetbox.cpp.

292 {
293  Widget widgetData;
294  if (!findWidget(this, className, category, &widgetData))
295  return QIcon();
296  return m_view->iconForWidget(widgetData.iconName());
297 }
static bool findWidget(const QDesignerWidgetBoxInterface *wbox, const QString &className, const QString &category, Widget *widgetData)
QIcon iconForWidget(QString iconName) const
virtual Category category(int cat_idx) const
Definition: widgetbox.cpp:182

References category(), qdesigner_internal::QDesignerWidgetBox::findWidget(), qdesigner_internal::WidgetBoxTreeWidget::iconForWidget(), and m_view.

Here is the call graph for this function:

◆ load()

bool qdesigner_internal::WidgetBox::load ( )
virtual

Definition at line 232 of file widgetbox.cpp.

233 {
234  // std::cout << "WidgetBox::load() -> We are here" << std::endl;
235  return m_view->load(loadMode());
236 }
bool load(QDesignerWidgetBox::LoadMode loadMode)

References qdesigner_internal::WidgetBoxTreeWidget::load(), qdesigner_internal::QDesignerWidgetBox::loadMode(), and m_view.

Here is the call graph for this function:

◆ loadContents()

bool qdesigner_internal::WidgetBox::loadContents ( const QString &  contents)
virtual

Implements qdesigner_internal::QDesignerWidgetBox.

Definition at line 238 of file widgetbox.cpp.

239 {
240  return m_view->loadContents(contents);
241 }
bool loadContents(const QString &contents)

References qdesigner_internal::WidgetBoxTreeWidget::loadContents(), and m_view.

Here is the call graph for this function:

◆ loadMode()

LoadMode qdesigner_internal::QDesignerWidgetBox::loadMode ( ) const
inherited

Referenced by load().

◆ removeCategory()

void qdesigner_internal::WidgetBox::removeCategory ( int  cat_idx)
virtual

Definition at line 192 of file widgetbox.cpp.

193 {
194  m_view->removeCategory(cat_idx);
195 }

References m_view, and qdesigner_internal::WidgetBoxTreeWidget::removeCategory().

Here is the call graph for this function:

◆ removeWidget()

void qdesigner_internal::WidgetBox::removeWidget ( int  cat_idx,
int  wgt_idx 
)
virtual

Definition at line 212 of file widgetbox.cpp.

213 {
214  m_view->removeWidget(cat_idx, wgt_idx);
215 }
void removeWidget(int cat_idx, int wgt_idx)

References m_view, and qdesigner_internal::WidgetBoxTreeWidget::removeWidget().

Here is the call graph for this function:

◆ save()

bool qdesigner_internal::WidgetBox::save ( )
virtual

Definition at line 243 of file widgetbox.cpp.

244 {
245  return m_view->save();
246 }

References m_view, and qdesigner_internal::WidgetBoxTreeWidget::save().

Here is the call graph for this function:

◆ setFileName()

void qdesigner_internal::WidgetBox::setFileName ( const QString &  file_name)
virtual

Definition at line 222 of file widgetbox.cpp.

223 {
224  m_view->setFileName(file_name);
225 }
void setFileName(const QString &file_name)

References m_view, and qdesigner_internal::WidgetBoxTreeWidget::setFileName().

Here is the call graph for this function:

◆ setLoadMode()

void qdesigner_internal::QDesignerWidgetBox::setLoadMode ( LoadMode  lm)
inherited

◆ widget()

QDesignerWidgetBoxInterface::Widget qdesigner_internal::WidgetBox::widget ( int  cat_idx,
int  wgt_idx 
) const
virtual

Definition at line 202 of file widgetbox.cpp.

203 {
204  return m_view->widget(cat_idx, wgt_idx);
205 }
Widget widget(int cat_idx, int wgt_idx) const

References m_view, and qdesigner_internal::WidgetBoxTreeWidget::widget().

Here is the call graph for this function:

◆ widgetCount()

int qdesigner_internal::WidgetBox::widgetCount ( int  cat_idx) const
virtual

Definition at line 197 of file widgetbox.cpp.

198 {
199  return m_view->widgetCount(cat_idx);
200 }

References m_view, and qdesigner_internal::WidgetBoxTreeWidget::widgetCount().

Here is the call graph for this function:

◆ xmlToUi() [1/2]

static DomUI* qdesigner_internal::QDesignerWidgetBox::xmlToUi ( const QString &  name,
const QString &  xml,
bool  insertFakeTopLevel 
)
staticinherited

◆ xmlToUi() [2/2]

static DomUI* qdesigner_internal::QDesignerWidgetBox::xmlToUi ( const QString &  name,
const QString &  xml,
bool  insertFakeTopLevel,
QString *  errorMessage 
)
staticinherited

Member Data Documentation

◆ m_core

SampleDesignerInterface* qdesigner_internal::WidgetBox::m_core
private

Definition at line 104 of file widgetbox.h.

Referenced by core().

◆ m_loadMode

LoadMode qdesigner_internal::QDesignerWidgetBox::m_loadMode
privateinherited

Definition at line 94 of file qdesigner_widgetbox_p.h.

◆ m_view


The documentation for this class was generated from the following files: