BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
JobSelectorWidget Class Reference

The JobSelectorWidget class represents left panel of JobView. More...

Inheritance diagram for JobSelectorWidget:
[legend]
Collaboration diagram for JobSelectorWidget:
[legend]

Public Slots

void makeJobItemSelected (JobItem *)
 

Signals

void selectionChanged (JobItem *)
 

Public Member Functions

 JobSelectorWidget (JobModel *jobModel, QWidget *parent=nullptr)
 
const JobItemcurrentJobItem () const
 
QSize minimumSizeHint () const
 
void setModel (JobModel *jobModel)
 
QSize sizeHint () const
 

Private Slots

void onSelectionChanged (JobItem *jobItem)
 

Private Attributes

JobListWidgetm_jobListWidget
 
JobModelm_jobModel
 
JobPropertiesWidgetm_jobProperties
 
JobSelectorActionsm_jobSelectorActions
 
JobSelectorToolBarm_toolBar
 

Detailed Description

The JobSelectorWidget class represents left panel of JobView.

Contains a tree to select jobs on the top and job property editor at the bottom.

Definition at line 30 of file JobSelectorWidget.h.

Constructor & Destructor Documentation

◆ JobSelectorWidget()

JobSelectorWidget::JobSelectorWidget ( JobModel jobModel,
QWidget *  parent = nullptr 
)
explicit

Definition at line 27 of file JobSelectorWidget.cpp.

28  : QWidget(parent)
29  , m_jobSelectorActions(new JobSelectorActions(jobModel, this))
33  , m_jobModel(nullptr)
34 {
35  setWindowTitle(Constants::JobSelectorWidgetName);
36  setObjectName("JobSelectorWidget");
37 
38  setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
39 
40  setModel(jobModel);
41 
42  auto splitter = new QSplitter;
43  splitter->setOrientation(Qt::Vertical);
44  splitter->addWidget(m_jobListWidget);
45  splitter->addWidget(m_jobProperties);
46  splitter->setChildrenCollapsible(true);
47 
48  auto mainLayout = new QVBoxLayout;
49  mainLayout->setMargin(0);
50  mainLayout->setSpacing(0);
51  mainLayout->setContentsMargins(0, 0, 0, 0);
52  mainLayout->addWidget(m_toolBar);
53  mainLayout->addWidget(splitter);
54  setLayout(mainLayout);
55 
57 
62 }
The JobListWidget class contains list view to select job items.
Definition: JobListWidget.h:31
QItemSelectionModel * selectionModel()
void selectionChanged(JobItem *)
void contextMenuRequest(const QPoint &point, const QModelIndex &index)
The JobPropertiesWidget class holds component editor for JobItem.
The JobSelectorActions class contains actions to run/remove jobs.
void onContextMenuRequest(const QPoint &point, const QModelIndex &indexAtPoint={})
Generates context menu at given point.
void setSelectionModel(QItemSelectionModel *selectionModel)
Styled tool bar on top of JobSelector with run/remove job buttons.
JobPropertiesWidget * m_jobProperties
JobSelectorActions * m_jobSelectorActions
JobSelectorToolBar * m_toolBar
void setModel(JobModel *jobModel)
JobListWidget * m_jobListWidget
void onSelectionChanged(JobItem *jobItem)
const QString JobSelectorWidgetName

References JobListWidget::contextMenuRequest(), Constants::JobSelectorWidgetName, m_jobListWidget, m_jobProperties, m_jobSelectorActions, m_toolBar, JobSelectorActions::onContextMenuRequest(), onSelectionChanged(), JobListWidget::selectionChanged(), JobListWidget::selectionModel(), setModel(), and JobSelectorActions::setSelectionModel().

Here is the call graph for this function:

Member Function Documentation

◆ currentJobItem()

const JobItem * JobSelectorWidget::currentJobItem ( ) const

Definition at line 80 of file JobSelectorWidget.cpp.

81 {
83 }
const JobItem * currentJobItem() const
Returns currently selected JobItem.

References JobListWidget::currentJobItem(), and m_jobListWidget.

Referenced by JobView::onFocusRequest().

Here is the call graph for this function:

◆ makeJobItemSelected

void JobSelectorWidget::makeJobItemSelected ( JobItem item)
slot

Definition at line 85 of file JobSelectorWidget.cpp.

86 {
87  ASSERT(item);
89 }
#define ASSERT(condition)
Definition: Assert.h:31
void makeJobItemSelected(JobItem *jobItem)

References ASSERT, m_jobListWidget, and JobListWidget::makeJobItemSelected().

Referenced by JobView::onFocusRequest().

Here is the call graph for this function:

◆ minimumSizeHint()

QSize JobSelectorWidget::minimumSizeHint ( ) const

Definition at line 75 of file JobSelectorWidget.cpp.

76 {
78 }
int PropertyPanelWidth()
Returns typical width of the vertical property panel.
Definition: StyleUtils.cpp:121

References StyleUtils::PropertyPanelWidth().

Here is the call graph for this function:

◆ onSelectionChanged

void JobSelectorWidget::onSelectionChanged ( JobItem jobItem)
privateslot

Definition at line 91 of file JobSelectorWidget.cpp.

92 {
93  m_jobProperties->setItem(jobItem);
94  emit selectionChanged(jobItem);
95 }
void selectionChanged(JobItem *)
virtual void setItem(SessionItem *item)

References m_jobProperties, selectionChanged(), and SessionItemWidget::setItem().

Referenced by JobSelectorWidget().

Here is the call graph for this function:

◆ selectionChanged

void JobSelectorWidget::selectionChanged ( JobItem )
signal

◆ setModel()

void JobSelectorWidget::setModel ( JobModel jobModel)

Definition at line 64 of file JobSelectorWidget.cpp.

65 {
66  m_jobModel = jobModel;
68 }
void setModel(JobModel *model)

References m_jobListWidget, m_jobModel, and JobListWidget::setModel().

Referenced by JobSelectorWidget().

Here is the call graph for this function:

◆ sizeHint()

QSize JobSelectorWidget::sizeHint ( ) const

Definition at line 70 of file JobSelectorWidget.cpp.

71 {
73 }

References StyleUtils::PropertyPanelWidth().

Here is the call graph for this function:

Member Data Documentation

◆ m_jobListWidget

JobListWidget* JobSelectorWidget::m_jobListWidget
private

◆ m_jobModel

JobModel* JobSelectorWidget::m_jobModel
private

Definition at line 57 of file JobSelectorWidget.h.

Referenced by setModel().

◆ m_jobProperties

JobPropertiesWidget* JobSelectorWidget::m_jobProperties
private

Definition at line 56 of file JobSelectorWidget.h.

Referenced by JobSelectorWidget(), and onSelectionChanged().

◆ m_jobSelectorActions

JobSelectorActions* JobSelectorWidget::m_jobSelectorActions
private

Definition at line 53 of file JobSelectorWidget.h.

Referenced by JobSelectorWidget().

◆ m_toolBar

JobSelectorToolBar* JobSelectorWidget::m_toolBar
private

Definition at line 54 of file JobSelectorWidget.h.

Referenced by JobSelectorWidget().


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