Isis 3 Programmer Reference
Isis::CnetEditorView Class Reference

Ipce view containing the CnetEditorWidget. More...

#include <CnetEditorView.h>

Inheritance diagram for Isis::CnetEditorView:
Inheritance graph
Collaboration diagram for Isis::CnetEditorView:
Collaboration graph

Classes

class  XmlHandler
 

Public Slots

virtual void addItem (ProjectItem *item)
 Adds an item to the view. More...
 
virtual void addItems (QList< ProjectItem * > items)
 Adds several items to the view. More...
 
virtual void removeItem (ProjectItem *item)
 Removes an item to the view. More...
 
virtual void removeItems (QList< ProjectItem * > items)
 Removes several items from the view. More...
 
virtual void disableActions ()
 Disables toolbars and toolpad actions. More...
 

Signals

void windowChangeEvent (bool event)
 

Public Member Functions

 CnetEditorView (Directory *directory, Control *control, FileName configFile, QWidget *parent=0)
 Constructor. More...
 
 ~CnetEditorView ()
 Destructor. More...
 
CnetEditorWidgetcnetEditorWidget ()
 Returns the cnetEditorWidget. More...
 
Controlcontrol ()
 @description Returns the Control displayed in the CnetEditorWidget More...
 
void load (XmlStackedHandlerReader *xmlReader)
 This method pushes a new XmlHandler into the parser stack. More...
 
void save (QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const
 This method saves the Controls object ids to the stream. More...
 
virtual QSize sizeHint () const
 Returns the suggested size. More...
 
virtual void setModel (ProjectItemModel *model)
 Sets the model used by the view. More...
 
virtual ProjectItemModelmodel ()
 Returns the model used by the view. More...
 
virtual void dragEnterEvent (QDragEnterEvent *event)
 Accepts the drag enter event if the internal model can accept the mime data. More...
 
virtual void dragMoveEvent (QDragMoveEvent *event)
 Accepts the drag event if the internal model can accept the mime data. More...
 
virtual void dropEvent (QDropEvent *event)
 Drops the data into the internal model if it can accept the data. More...
 
virtual void moveEvent (QMoveEvent *event)
 
virtual void resizeEvent (QResizeEvent *event)
 
virtual void enterEvent (QEvent *event)
 Enables actions when cursor enters the view. More...
 
virtual void enableActions ()
 Enables toolbars and toolpad actions. More...
 
virtual QList< QAction * > contextMenuActions ()
 Returns a list of actions appropriate for a context menu. More...
 
virtual ProjectItemcurrentItem ()
 Returns the current item of the model. More...
 
virtual QList< ProjectItem * > selectedItems ()
 Return the selected items of the model. More...
 
virtual ProjectItemModelinternalModel ()
 Returns the internal model of the view. More...
 
virtual void setInternalModel (ProjectItemModel *model)
 Sets the internal model of the view. More...
 

Private Member Functions

void createToolBars ()
 Uses and adds the actions created by CnetEditorWidget to the view's toolbars Right now, all actions created in CnetEditorWidget are added to the toolpad. More...
 
void createMenus ()
 Uses the actions created by CnetEditorWidget, creates the tables menu, and puts the actions into the tables menu. More...
 
void leaveEvent (QEvent *event)
 Disables actions when cursor leaves the view. More...
 

Private Attributes

QPointer< CnetEditorWidgetm_cnetEditorWidget
 
QPointer< Controlm_control
 
QToolBarm_permToolBar
 The permanent tool bar. More...
 
ProjectItemViewMenum_tablesMenu
 View menu for storing actions. More...
 
ProjectItemModelm_internalModel
 The internal model used by the view. More...
 

Detailed Description

Ipce view containing the CnetEditorWidget.

Author
2018-04-04 Tracie Sucharski
History:
2018-06-01 Kaitlyn Lee - Because AbstractProjectItemView now inherits from QMainWindow, I added a dummy central widget and set its layout to the grid layout. We used to set the whole CnetEditorView widget's layout, now we only set the central widget's layout.
History:
2018-06-05 Kaitlyn Lee - Added createMenus() and createToolBars(). The body of createMenus() was moved from the constructor. createToolBars() was copied and edited from CnetEditorWindow. Fixes #5416. Fixes #4988
History:
2018-06-13 Kaitlyn Lee - Since views now inherit from QMainWindow, each individual view has its own toolbar, so having getters that return toolbar actions to fill the toolbar of the IpceMainWindow are unnecessary. Removed methods that returned menu and toolbar actions.
History:
2018-06-25 Kaitlyn Lee - When multiple views are open, there is a possibility of getting ambiguous shortcut errors. To counter this, we enable/disable actions. Overrode leaveEvent() to handle open menus causing a leave event. On default, a view's actions are disabled. To enable the actions, move the cursor over the view. When a user moves the cursor outside of the view, the actions are disabled.
History:
2018-07-09 Tracie Sucharski - Serialize the objectName for this view so that the view can be re-created with the same objectName for restoring the project state. Qt's save/restoreState use the objectName. Remove sizeHint method which is now taken care of in the parent class, AbstractProjectItemView.

Definition at line 65 of file CnetEditorView.h.

Constructor & Destructor Documentation

◆ CnetEditorView()

Isis::CnetEditorView::CnetEditorView ( Directory directory,
Control control,
FileName  configFile,
QWidget parent = 0 
)

◆ ~CnetEditorView()

Isis::CnetEditorView::~CnetEditorView ( )

Destructor.

Definition at line 83 of file CnetEditorView.cpp.

References m_permToolBar, and m_tablesMenu.

Member Function Documentation

◆ addItem

void Isis::AbstractProjectItemView::addItem ( ProjectItem item)
virtualslotinherited

Adds an item to the view.

The item must be part of the view's model. This method can be overridden in a subclass to filter out unneeded items.

Parameters
[in]item(ProjectItem *) The item to add.

Definition at line 250 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

Referenced by Isis::CubeDnView::addItem().

◆ addItems

void Isis::AbstractProjectItemView::addItems ( QList< ProjectItem * >  items)
virtualslotinherited

Adds several items to the view.

The items must be a part of the view's model. This method can be overridden in a subclass to filter out unneeded items.

Parameters
[in]items(QList<ProjectItem *>) The items to add.

Definition at line 264 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

Referenced by Isis::CubeDnViewWorkOrder::execute(), and Isis::Footprint2DViewWorkOrder::execute().

◆ cnetEditorWidget()

CnetEditorWidget * Isis::CnetEditorView::cnetEditorWidget ( )

Returns the cnetEditorWidget.

Returns
(cnetEditorWidget *) The cnetEditorWidget used to display the footprints.

Definition at line 163 of file CnetEditorView.cpp.

Referenced by Isis::Directory::addCnetEditorView(), and Isis::Directory::newActiveControl().

◆ contextMenuActions()

QList< QAction * > Isis::AbstractProjectItemView::contextMenuActions ( )
virtualinherited

Returns a list of actions appropriate for a context menu.

Returns
QList<QAction *> The actions

Definition at line 218 of file AbstractProjectItemView.cpp.

◆ control()

Control * Isis::CnetEditorView::control ( )

@description Returns the Control displayed in the CnetEditorWidget

Returns
(Control *) The Control displayed in the CnetEditorWidget

Definition at line 173 of file CnetEditorView.cpp.

Referenced by CnetEditorView(), Isis::Directory::newActiveControl(), and Isis::Directory::reloadActiveControlInCnetEditorView().

◆ createMenus()

void Isis::CnetEditorView::createMenus ( )
private

Uses the actions created by CnetEditorWidget, creates the tables menu, and puts the actions into the tables menu.

Definition at line 97 of file CnetEditorView.cpp.

References Isis::AbstractProjectItemView::disableActions(), and m_tablesMenu.

Referenced by CnetEditorView().

◆ createToolBars()

void Isis::CnetEditorView::createToolBars ( )
private

Uses and adds the actions created by CnetEditorWidget to the view's toolbars Right now, all actions created in CnetEditorWidget are added to the toolpad.

This was copied from CnetEditorWindow

Definition at line 123 of file CnetEditorView.cpp.

References m_permToolBar.

Referenced by CnetEditorView().

◆ currentItem()

ProjectItem * Isis::AbstractProjectItemView::currentItem ( )
virtualinherited

Returns the current item of the model.

Returns
ProjectItem * The item

Definition at line 228 of file AbstractProjectItemView.cpp.

References Isis::ProjectItemModel::currentItem(), and Isis::AbstractProjectItemView::model().

◆ disableActions

void Isis::AbstractProjectItemView::disableActions ( )
virtualslotinherited

◆ dragEnterEvent()

void Isis::AbstractProjectItemView::dragEnterEvent ( QDragEnterEvent *  event)
virtualinherited

Accepts the drag enter event if the internal model can accept the mime data.

Parameters
[in]event(QDragEnterEvent *) The drag event

Definition at line 119 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

Referenced by Isis::Footprint2DView::eventFilter().

◆ dragMoveEvent()

void Isis::AbstractProjectItemView::dragMoveEvent ( QDragMoveEvent *  event)
virtualinherited

Accepts the drag event if the internal model can accept the mime data.

Parameters
[in]event(QDragMoveEvent *) The drag event

Definition at line 134 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

Referenced by Isis::Footprint2DView::eventFilter().

◆ dropEvent()

void Isis::AbstractProjectItemView::dropEvent ( QDropEvent *  event)
virtualinherited

Drops the data into the internal model if it can accept the data.

Parameters
[in]event(QDropEvent *) The drop event

Definition at line 148 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

Referenced by Isis::Footprint2DView::eventFilter().

◆ enableActions()

void Isis::AbstractProjectItemView::enableActions ( )
virtualinherited

Enables toolbars and toolpad actions.

Reimplemented in Isis::Footprint2DView, and Isis::CubeDnView.

Definition at line 206 of file AbstractProjectItemView.cpp.

Referenced by Isis::AbstractProjectItemView::enterEvent().

◆ enterEvent()

void Isis::AbstractProjectItemView::enterEvent ( QEvent *  event)
virtualinherited

Enables actions when cursor enters the view.

Parameters
eventThe enter event

Definition at line 178 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::enableActions().

◆ internalModel()

◆ leaveEvent()

void Isis::CnetEditorView::leaveEvent ( QEvent *  event)
privatevirtual

Disables actions when cursor leaves the view.

Overriden method If a menu is visible, i.e. clicked on, this causes a leave event. We want the actions to still be enabled when a menu is visible.

Parameters
eventThe leave event

Reimplemented from Isis::AbstractProjectItemView.

Definition at line 150 of file CnetEditorView.cpp.

References Isis::AbstractProjectItemView::disableActions(), and m_tablesMenu.

◆ load()

void Isis::CnetEditorView::load ( XmlStackedHandlerReader xmlReader)

This method pushes a new XmlHandler into the parser stack.

Parameters
xmlReaderThis is the parser stack.

Definition at line 183 of file CnetEditorView.cpp.

References Isis::XmlStackedHandlerReader::pushContentHandler().

◆ model()

ProjectItemModel * Isis::AbstractProjectItemView::model ( )
virtualinherited

◆ removeItem

void Isis::AbstractProjectItemView::removeItem ( ProjectItem item)
virtualslotinherited

Removes an item to the view.

The item must be part of the view's model. This method can be overriden in a subclass to filter out unneeded items.

Parameters
[in]item(ProjectItem *) The item to remove.

Definition at line 278 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

Referenced by Isis::AbstractProjectItemView::removeItems().

◆ removeItems

void Isis::AbstractProjectItemView::removeItems ( QList< ProjectItem * >  items)
virtualslotinherited

Removes several items from the view.

The items must be a part of the view's model.

Parameters
[in]items(QList<ProjectItem *>) The items to remove.

Definition at line 292 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::removeItem().

◆ save()

void Isis::CnetEditorView::save ( QXmlStreamWriter &  stream,
Project project,
FileName  newProjectRoot 
) const

This method saves the Controls object ids to the stream.

Parameters
streamThe stream that will output to directory.xml
projectThe project to save the users settings to
newProjectRootNew project's root directory

Definition at line 195 of file CnetEditorView.cpp.

Referenced by Isis::Directory::save().

◆ selectedItems()

QList< ProjectItem * > Isis::AbstractProjectItemView::selectedItems ( )
virtualinherited

Return the selected items of the model.

Returns
QList<ProjectItem *> The items

Definition at line 238 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::model(), and Isis::ProjectItemModel::selectedItems().

◆ setInternalModel()

void Isis::AbstractProjectItemView::setInternalModel ( ProjectItemModel model)
virtualinherited

Sets the internal model of the view.

Parameters
[in]model(ProjectItemModel *) The new internal model

Reimplemented in Isis::ProjectItemTreeView.

Definition at line 97 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::m_internalModel, and Isis::AbstractProjectItemView::model().

Referenced by Isis::ProjectItemTreeView::setInternalModel().

◆ setModel()

void Isis::AbstractProjectItemView::setModel ( ProjectItemModel model)
virtualinherited

Sets the model used by the view.

If the internal model is a proxy model, it sets the source model.

Parameters
[in]model(ProjectItemModel *) The new model

Definition at line 69 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel(), and Isis::AbstractProjectItemView::model().

Referenced by Isis::Directory::addCubeDnView(), Isis::Directory::addFootprint2DView(), and Isis::Directory::addProjectItemTreeView().

◆ sizeHint()

QSize Isis::AbstractProjectItemView::sizeHint ( ) const
virtualinherited

Returns the suggested size.

Returns
QSize The size hint

Reimplemented in Isis::ProjectItemTreeView, and Isis::ControlHealthMonitorView.

Definition at line 53 of file AbstractProjectItemView.cpp.

Member Data Documentation

◆ m_internalModel

ProjectItemModel* Isis::AbstractProjectItemView::m_internalModel
privateinherited

◆ m_permToolBar

QToolBar* Isis::CnetEditorView::m_permToolBar
private

The permanent tool bar.

Definition at line 112 of file CnetEditorView.h.

Referenced by CnetEditorView(), createToolBars(), and ~CnetEditorView().

◆ m_tablesMenu

ProjectItemViewMenu* Isis::CnetEditorView::m_tablesMenu
private

View menu for storing actions.

Definition at line 113 of file CnetEditorView.h.

Referenced by createMenus(), leaveEvent(), and ~CnetEditorView().


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