labplot  2.8.2
About: LabPlot is an application for plotting and analysis of 2D and 3D functions and data. It is a complete rewrite of LabPlot1 and lacks in the first release a lot of features available in the predecessor. On the other hand, the GUI and the usability is more superior.
  Fossies Dox: labplot-2.8.2.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

Workbook Class Reference

Top-level container for Spreadsheet and Matrix. More...

#include <Workbook.h>

Inheritance diagram for Workbook:
Collaboration diagram for Workbook:

Public Slots

void childSelected (const AbstractAspect *) override
- Public Slots inherited from AbstractAspect
bool setName (const QString &, bool autoUnique=true)
 AbstractAspect::setName sets the name of the abstract aspect. More...
void setComment (const QString &)
void remove ()
 Remove me from my parent's list of children. More...


void requestProjectContextMenu (QMenu *)
void workbookItemSelected (int)
- Signals inherited from AbstractPart
void showRequested ()
void importFromFileRequested ()
void importFromSQLDatabaseRequested ()
void exportRequested ()
void printRequested ()
void printPreviewRequested ()
- Signals inherited from AbstractAspect
void aspectDescriptionAboutToChange (const AbstractAspect *)
 Emitted before the name, comment or caption spec is changed. More...
void aspectDescriptionChanged (const AbstractAspect *)
 Emitted after the name, comment or caption spec have changed. More...
void aspectAboutToBeAdded (const AbstractAspect *parent, const AbstractAspect *before, const AbstractAspect *child)
 Emitted before a new child is inserted. More...
void aspectAdded (const AbstractAspect *)
 Emitted after a new Aspect has been added to the tree. More...
void aspectAboutToBeRemoved (const AbstractAspect *)
 Emitted before an aspect is removed from its parent. More...
void aspectRemoved (const AbstractAspect *parent, const AbstractAspect *before, const AbstractAspect *child)
 Emitted from the parent after removing a child. More...
void aspectHiddenAboutToChange (const AbstractAspect *)
 Emitted before the hidden attribute is changed. More...
void aspectHiddenChanged (const AbstractAspect *)
 Emitted after the hidden attribute has changed. More...
void statusInfo (const QString &)
 Emitted whenever some aspect in the tree wants to give status information to the user. More...
void renameRequested ()
void selected (const AbstractAspect *)
void deselected (const AbstractAspect *)
void childAspectSelectedInView (const AbstractAspect *)
void childAspectDeselectedInView (const AbstractAspect *)

Public Member Functions

 Workbook (const QString &name)
QIcon icon () const override
 Return an icon to be used for decorating my views. More...
QMenu * createContextMenu () override
QWidget * view () const override
 Construct a primary view on me. More...
bool exportView () const override
bool printView () override
bool printPreview () const override
SpreadsheetcurrentSpreadsheet () const
MatrixcurrentMatrix () const
void setChildSelectedInView (int index, bool selected)
void save (QXmlStreamWriter *) const override
 Save as XML. More...
bool load (XmlStreamReader *, bool preview) override
 Load from XML. More...
- Public Member Functions inherited from AbstractPart
 AbstractPart (const QString &name, AspectType type)
 ~AbstractPart () override
void deleteView () const
PartMdiViewmdiSubWindow () const
 Wrap the view() into a PartMdiView. More...
bool hasMdiSubWindow () const
bool isDraggable () const override
QVector< AspectTypedropableOn () const override
virtual void registerShortcuts ()
virtual void unregisterShortcuts ()
- Public Member Functions inherited from AbstractAspect
 AbstractAspect (const QString &name, AspectType type)
 ~AbstractAspect () override
QString name () const
QString comment () const
void setCreationTime (const QDateTime &)
QDateTime creationTime () const
virtual Projectproject ()
 Return the Project this Aspect belongs to, or 0 if it is currently not part of one. More...
virtual QString path () const
 Return the path that leads from the top-most Aspect (usually a Project) to me. More...
void setHidden (bool)
 Set "hidden" property, i.e. whether to exclude this aspect from being shown in the explorer. More...
bool hidden () const
void setIsLoading (bool)
bool isLoading () const
AspectType type () const
bool inherits (AspectType type) const
AbstractAspectparentAspect () const
 Return my parent Aspect or 0 if I currently don't have one. More...
AbstractAspectparent (AspectType type) const
 In the parent-child hierarchy, return the first parent of type. More...
void setParentAspect (AbstractAspect *)
Folderfolder ()
 Return the folder the Aspect is contained in or 0 if there is none. More...
bool isDescendantOf (AbstractAspect *other)
 Return whether the there is a path upwards to the given aspect. More...
void addChild (AbstractAspect *)
 Add the given Aspect to my list of children. More...
void addChildFast (AbstractAspect *)
 Add the given Aspect to my list of children without any checks and without putting this step onto the undo-stack. More...
virtual void finalizeAdd ()
QVector< AbstractAspect * > children (AspectType type, ChildIndexFlags flags={}) const
void insertChildBefore (AbstractAspect *child, AbstractAspect *before)
 Insert the given Aspect at a specific position in my list of children. More...
void insertChildBeforeFast (AbstractAspect *child, AbstractAspect *before)
 Insert the given Aspect at a specific position in my list of children.without any checks and without putting this step onto the undo-stack. More...
void reparent (AbstractAspect *newParent, int newIndex=-1)
 Move a child to another parent aspect and transfer ownership. More...
void removeChild (AbstractAspect *)
 Remove the given Aspect from my list of children. More...
void removeAllChildren ()
 Remove all child Aspects. More...
virtual QVector< AbstractAspect * > dependsOn () const
virtual void processDropEvent (const QVector< quintptr > &)
template<class T >
T * ancestor () const
 Return the closest ancestor of class T (or NULL if none found). More...
template<class T >
QVector< T * > children (ChildIndexFlags flags={}) const
template<class T >
T * child (int index, ChildIndexFlags flags={}) const
template<class T >
T * child (const QString &name) const
 Get child by name and class. More...
template<class T >
int childCount (ChildIndexFlags flags={}) const
 Return the number of child Aspects inheriting from given class. More...
template<class T >
int indexOfChild (const AbstractAspect *child, ChildIndexFlags flags={}) const
 Return (0 based) index of child in the list of children inheriting from class T. More...
void setSelected (bool)
void setUndoAware (bool)
virtual QUndoStack * undoStack () const
 Return the undo stack of the Project, or 0 if this Aspect is not part of a Project. More...
void exec (QUndoCommand *)
 Execute the given command, pushing it on the undoStack() if available. More...
void exec (QUndoCommand *command, const char *preChangeSignal, const char *postChangeSignal, QGenericArgument val0=QGenericArgument(), QGenericArgument val1=QGenericArgument(), QGenericArgument val2=QGenericArgument(), QGenericArgument val3=QGenericArgument())
 Execute command and arrange for signals to be sent before/after it is redone or undone. More...
void beginMacro (const QString &text)
 Begin an undo stack macro (series of commands) More...
void endMacro ()
 End the current undo stack macro. More...

Private Slots

void childDeselected (const AbstractAspect *) override

Private Attributes

WorkbookViewm_view {nullptr}

Additional Inherited Members

- Public Types inherited from AbstractAspect
enum class  ChildIndexFlag { IncludeHidden = 0x01 , Recursive = 0x02 , Compress = 0x04 }
 Flags which control numbering scheme of children. More...
- Protected Slots inherited from AbstractAspect
virtual void childSelected (const AbstractAspect *)
virtual void childDeselected (const AbstractAspect *)
- Protected Member Functions inherited from AbstractAspect
void info (const QString &text)
 Implementations should call this whenever status information should be given to the user. More...
bool readBasicAttributes (XmlStreamReader *)
 Load name and creation time from XML. More...
void writeBasicAttributes (QXmlStreamWriter *) const
 Save name and creation time to XML. More...
void writeCommentElement (QXmlStreamWriter *) const
 Save the comment to XML. More...
bool readCommentElement (XmlStreamReader *)
 Load comment from an XML element. More...
- Protected Attributes inherited from AbstractPart
QWidget * m_partView {nullptr}
- Protected Attributes inherited from AbstractAspect
const AspectType m_type

Detailed Description

Top-level container for Spreadsheet and Matrix.

File : Workbook.h Project : LabPlot Description : Aspect providing a container for storing data

in form of spreadsheets and matrices

Copyright : (C) 2015 Alexander Semke(

  • This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. *
  • This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. *
  • You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA *

Definition at line 40 of file Workbook.h.

Constructor & Destructor Documentation

◆ Workbook()

Workbook::Workbook ( const QString &  name)

Definition at line 45 of file Workbook.cpp.

Member Function Documentation

◆ childDeselected

void Workbook::childDeselected ( const AbstractAspect aspect)

this slot is called when a worksheet element is deselected in the project explorer.

Definition at line 146 of file Workbook.cpp.

◆ childSelected

void Workbook::childSelected ( const AbstractAspect aspect)

this slot is called when a workbook child is selected in the project explorer. emits workbookItemSelected() to forward this event to the WorkbookView in order to select the corresponding tab.

Definition at line 138 of file Workbook.cpp.

References workbookItemSelected().

◆ createContextMenu()

QMenu * Workbook::createContextMenu ( )

Returns a new context menu. The caller takes ownership of the menu.

Reimplemented from AbstractPart.

Definition at line 55 of file Workbook.cpp.

References AbstractPart::createContextMenu(), and requestProjectContextMenu().

◆ currentMatrix()

Matrix * Workbook::currentMatrix ( ) const

Definition at line 121 of file Workbook.cpp.

References m_view.

Referenced by exportView(), printPreview(), and printView().

◆ currentSpreadsheet()

Spreadsheet * Workbook::currentSpreadsheet ( ) const

Definition at line 109 of file Workbook.cpp.

References WorkbookView::currentIndex(), and m_view.

Referenced by exportView(), printPreview(), and printView().

◆ exportView()

bool Workbook::exportView ( ) const

◆ icon()

QIcon Workbook::icon ( ) const

Return an icon to be used for decorating my views.

Reimplemented from AbstractAspect.

Definition at line 48 of file Workbook.cpp.

◆ load()

◆ printPreview()

bool Workbook::printPreview ( ) const

◆ printView()

bool Workbook::printView ( )

◆ requestProjectContextMenu

void Workbook::requestProjectContextMenu ( QMenu *  )

◆ save()

void Workbook::save ( QXmlStreamWriter *  writer) const

Save as XML.

Implements AbstractAspect.

Definition at line 178 of file Workbook.cpp.

References AbstractAspect::writeBasicAttributes(), and AbstractAspect::writeCommentElement().

◆ setChildSelectedInView()

void Workbook::setChildSelectedInView ( int  index,
bool  selected 

Emits the signal to select or to deselect the workbook item (spreadsheet or matrix) with the index index in the project explorer, if selected=true or selected=false, respectively. The signal is handled in AspectTreeModel and forwarded to the tree view in ProjectExplorer. This function is called in WorkbookView when the current tab was changed

Definition at line 156 of file Workbook.cpp.

References AbstractAspect::child(), AbstractAspect::childAspectDeselectedInView(), AbstractAspect::childAspectSelectedInView(), and AbstractAspect::selected().

Referenced by WorkbookView::tabChanged().

◆ view()

QWidget * Workbook::view ( ) const

Construct a primary view on me.

The caller receives ownership of the view.

This method may be called multiple times during the life time of a Part, or it might not get called at all. Parts must not depend on the existence of a view for their operation.

Implements AbstractPart.

Definition at line 62 of file Workbook.cpp.

References AbstractPart::m_partView, and m_view.

◆ workbookItemSelected

void Workbook::workbookItemSelected ( int  )

Member Data Documentation

◆ m_view

WorkbookView* Workbook::m_view {nullptr}

Definition at line 65 of file Workbook.h.

Referenced by currentMatrix(), currentSpreadsheet(), and view().

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