umbrello 26.03.70-f7b1fd3 Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Slots | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
UMLApp Class Reference

`#include <umlapp.h>`

Inheritance diagram for UMLApp:

## Public Slots

void | slotExecGenerationWizard ()
void | slotImportingWizard ()
void | slotFileNew ()
void | slotFileOpen ()
void | slotFileOpenRecent (const QUrl &url)
void | slotFileSave ()
bool | slotFileSaveAs ()
void | slotFileClose ()
bool | slotPrintSettings ()
void | slotPrintPreview ()
void | slotPrintPreviewPaintRequested (QPrinter *printer)
void | slotFilePrint ()
void | slotFileQuit ()
void | slotFileExportDocbook ()
void | slotFileExportXhtml ()
void | slotFind ()
void | slotFindNext ()
void | slotFindPrevious ()
void | slotEditCut ()
void | slotEditCopy ()
void | slotEditPaste ()
void | slotStatusMsg (const QString &text)
void | slotClassDiagram ()
void | slotObjectDiagram ()
void | slotSequenceDiagram ()
void | slotCollaborationDiagram ()
void | slotUseCaseDiagram ()
void | slotStateDiagram ()
void | slotActivityDiagram ()
void | slotComponentDiagram ()
void | slotDeploymentDiagram ()
void | slotEntityRelationshipDiagram ()
void | slotAlignLeft ()
void | slotAlignRight ()
void | slotAlignTop ()
void | slotAlignBottom ()
void | slotAlignVerticalMiddle ()
void | slotAlignHorizontalMiddle ()
void | slotAlignVerticalDistribute ()
void | slotAlignHorizontalDistribute ()
void | slotClipDataChanged ()
void | slotCopyChanged ()
void | slotPrefs (MultiPageDialogBase::PageType page=MultiPageDialogBase::GeneralPage)
void | slotApplyPrefs ()
void | slotImportClass ()
void | slotImportProject ()
void | slotUpdateViews ()
void | slotCurrentViewClearDiagram ()
void | slotCurrentViewToggleSnapToGrid ()
void | slotCurrentViewToggleShowGrid ()
void | slotCurrentViewExportImage ()
void | slotViewsExportImages ()
void | slotCurrentProperties ()
void | slotClassWizard ()
void | slotAddDefaultDatatypes ()
void | slotCurrentViewChanged ()
void | slotSnapToGridToggled (bool gridOn)
void | slotShowGridToggled (bool gridOn)
void | slotSelectAll ()
void | slotDeleteSelected ()
void | slotDeleteDiagram ()
void | slotCloseDiagram (int index)
void | slotGenerateAllCode ()
void | slotSetZoom (QAction *action)
void | slotZoomSliderMoved (int value)
void | slotZoomFit ()
void | slotZoom100 ()
void | slotZoomOut ()
void | slotZoomIn ()
void | slotBirdViewChanged (const QPointF &newCenter)
void | setupZoomMenu ()
void | slotEditUndo ()
void | slotEditRedo ()
void | slotTabChanged (int index)
void | slotChangeTabLeft ()
void | slotChangeTabRight ()
void | slotMoveTabLeft ()
void | slotMoveTabRight ()
void | slotXhtmlDocGenerationFinished (bool status)
bool | slotOpenFileInEditor (const QUrl &file, int startCursor=0, int endCursor=0)

## Signals

void | sigCutSuccessful ()

## Public Member Functions

| UMLApp (QWidget *parent=nullptr)
| ~UMLApp ()
void | setup ()
void | openDocumentFile (const QUrl &url=QUrl())
void | newDocument ()
UMLDoc * | document () const
UMLListView * | listView () const
WorkToolBar * | workToolBar () const
DocWindow * | docWindow () const
QListWidget * | logWindow () const
bool | logToConsole () const
void | log (const QString &s)
void | logDebug (const QString &s)
void | logInfo (const QString &s)
void | logWarn (const QString &s)
void | logError (const QString &s)
QCursor | defaultCursor () const
void | setModified (bool _m)
void | enablePrint (bool enable)
bool | isPasteState () const
bool | isCutCopyState () const
bool | isUndoEnabled () const
void | enableUndo (bool enable)
bool | isUndoActionEnabled () const
void | enableUndoAction (bool enable)
bool | isRedoActionEnabled () const
void | enableRedoAction (bool enable)
bool | isSimpleCodeGeneratorActive () const
void | setGenerator (CodeGenerator *gen, bool giveWarning=true)
CodeGenerator * | setGenerator (Uml::ProgrammingLanguage::Enum pl)
CodeGenerator * | generator () const
CodeGenerator * | createGenerator ()
void | initGenerator ()
void | refactor (UMLClassifier *classifier)
void | viewCodeDocument (UMLClassifier *classifier)
void | setDiagramMenuItemsState (bool bState)
QWidget * | mainViewWidget () const
void | setCurrentView (UMLView *view, bool updateTreeView=true)
UMLView * | currentView () const
void | setImageMimeType (const QString &mimeType)
QString | imageMimeType () const
bool | editCutCopy (bool bFromView)
QTabWidget * | tabWidget ()
QString | statusBarMsg () const
CodeGenerationPolicy * | commonPolicy () const
void | setPolicyExt (CodeGenPolicyExt *policy)
CodeGenPolicyExt * | policyExt () const
void | clearUndoStack ()
void | undo ()
void | redo ()
void | executeCommand (QUndoCommand *cmd)
void | beginMacro (const QString &text)
void | endMacro ()
void | setActiveLanguage (Uml::ProgrammingLanguage::Enum pl)
Uml::ProgrammingLanguage::Enum | activeLanguage () const
Uml::ProgrammingLanguage::Enum | defaultLanguage () const
bool | activeLanguageIsCaseSensitive () const
QString | activeLanguageScopeSeparator () const
KConfig * | config ()
void | importFiles (QStringList &fileList, const QString &rootPath=QString())
void | deleteBirdView ()

## Static Public Member Functions

static UMLApp * | app ()
static bool | shuttingDown ()

## Protected Member Functions

virtual void | keyPressEvent (QKeyEvent *e)
virtual void | keyReleaseEvent (QKeyEvent *e)
virtual void | customEvent (QEvent *e)
void | handleCursorKeyReleaseEvent (QKeyEvent *e)
void | saveOptions ()
void | readOptions ()
void | initActions ()
void | initStatusBar ()
void | initWidgets ()
virtual bool | queryClose ()
virtual void | saveProperties (KConfigGroup &cfg)
virtual void | readProperties (const KConfigGroup &cfg)
void | updateLangSelectMenu (Uml::ProgrammingLanguage::Enum activeLanguage)

## Private Slots

void | setLang_actionscript ()
void | setLang_ada ()
void | setLang_cpp ()
void | setLang_csharp ()
void | setLang_d ()
void | setLang_idl ()
void | setLang_java ()
void | setLang_javascript ()
void | setLang_mysql ()
void | setLang_pascal ()
void | setLang_perl ()
void | setLang_php ()
void | setLang_php5 ()
void | setLang_postgresql ()
void | setLang_python ()
void | setLang_ruby ()
void | setLang_sql ()
void | setLang_tcl ()
void | setLang_vala ()
void | setLang_xmlschema ()
void | setLang_none ()
void | slotDiagramPopupMenu (const QPoint &point)

## Private Member Functions

QMenu * | findMenu (const QString &name)
QAction * | createZoomAction (int zoom, int currentZoom)
void | setZoom (int zoom, bool withView=true)
void | resetStatusMsg ()
void | setProgLangAction (Uml::ProgrammingLanguage::Enum pl, const char *name, const char *action)
void | readOptionState () const
void | initClip ()
void | initSavedCodeGenerators ()
void | createDiagram (Uml::DiagramType::Enum type)
void | createBirdView (UMLView *view)

## Static Private Member Functions

static bool | canDecode (const QMimeData *mimeSource)

## Private Attributes

UMLAppPrivate * | m_d
QMenu * | m_langSelect
| For selecting the active language. More...
QMenu * | m_zoomSelect
| Popup menu for zoom selection. More...
Uml::ProgrammingLanguage::Enum | m_activeLanguage
| Active language. More...
CodeGenerator * | m_codegen
| Active code generator. More...
CodeGenerationPolicy * | m_commoncodegenpolicy
CodeGenPolicyExt * | m_policyext
| Active policy extension. More...
KSharedConfigPtr | m_config
| The configuration object of the application. More...
QPointer< UMLView > | m_view
UMLDoc * | m_doc
QDockWidget * | m_mainDock
| The widget which shows the diagrams. More...
QDockWidget * | m_propertyDock
| Contains the property browser widget. More...
RefactoringAssistant * | m_refactoringAssist
| Refactoring assistant. More...
KRecentFilesAction * | fileOpenRecent
QAction * | printPreview
QAction * | filePrint
QAction * | editCut
QAction * | editCopy
QAction * | editPaste
QAction * | editUndo
QAction * | editRedo
KActionMenu * | newDiagram
QAction * | viewClearDiagram
KToggleAction * | viewSnapToGrid
KToggleAction * | viewShowGrid
QAction * | viewExportImage
QAction * | viewProperties
QAction * | zoom100Action
QAction * | m_langAct [Uml::ProgrammingLanguage::Reserved+1]
QAction * | deleteSelectedWidget
QAction * | deleteDiagram
QToolButton * | m_newSessionButton
WorkToolBar * | m_toolsbar
QTimer * | m_clipTimer
QTimer * | m_copyTimer
bool | m_loading
| True if the application is opening an existing document. More...
QStackedWidget * | m_viewStack
QTabWidget * | m_tabWidget
QVBoxLayout * | m_layout
QString | m_imageMimeType
| Default mime type to use for image export. More...
SettingsDialog * | m_settingsDialog
| The global UML settings dialog. More...
UMLViewImageExporterAll * | m_imageExporterAll
| Used to export all the views. More...
QLabel * | m_zoomValueLbl
QWidget * | m_defaultZoomWdg
QPushButton * | m_pZoomOutPB
QPushButton * | m_pZoomInPB
StatusBarToolButton * | m_pZoomFitSBTB
StatusBarToolButton * | m_pZoomFullSBTB
QSlider * | m_pZoomSlider
QLabel * | m_statusBarMessage
XhtmlGenerator * | m_xhtmlGenerator
QUndoStack * | m_pUndoStack
| UndoStack used to store actions, to provide Undo/Redo feature. More...
bool | m_undoEnabled
| Undo enabled flag. More...
bool | m_hasBegunMacro
| Macro creation flag. More...
QPointer< DiagramPrintPage > | m_printSettings
| printer diagram settings More...
QPrinter * | m_printer
| print instance More...

## Static Private Attributes

static UMLApp * | s_instance
| The last created instance of this class. More...
static bool | s_shuttingDown = false

## Friends

class | UMLAppPrivate
class | UMLView

## Detailed Description

The base class for UML application windows. It sets up the main window and reads the config file as well as providing a menubar, toolbar and statusbar. A list of UMLView instances creates the center views, which are connected to the window's Doc object. The handling of views is realized with two different widgets:

- stack widget
- tab widget The current view handling is set as an option. UMLApp reimplements the methods that KMainWindow provides for main window handling and supports full session management as well as using KActions.

See also
  KMainWindow
  KApplication
  KConfig

Author
  Paul Hensgen phens.nosp@m.gen@.nosp@m.techi.nosp@m.e.co.nosp@m.m Bugs and comments to umbre.nosp@m.llo-.nosp@m.devel.nosp@m.@kde.nosp@m..org or https://bugs.kde.org

## Constructor & Destructor Documentation

## ◆ UMLApp()

UMLApp::UMLApp | ( | QWidget * | parent = `nullptr` | ) |

explicit

Constructor. Calls all init functions to create the application.

## ◆ ~UMLApp()

UMLApp::~UMLApp | ( |  | ) |

Standard deconstructor.

## Member Function Documentation

## ◆ activeLanguage()

Uml::ProgrammingLanguage::Enum UMLApp::activeLanguage | ( |  | ) | const

Get the language for import and code generation.

## ◆ activeLanguageIsCaseSensitive()

bool UMLApp::activeLanguageIsCaseSensitive | ( |  | ) | const

Return true if the active language is case sensitive.

## ◆ activeLanguageScopeSeparator()

QString UMLApp::activeLanguageScopeSeparator | ( |  | ) | const

Return the target language dependent scope separator.

## ◆ app()

UMLApp * UMLApp::app | ( |  | ) |

static

Get the last created instance of this class.

## ◆ beginMacro()

void UMLApp::beginMacro | ( | const QString & | text | ) |

Begin a U/R command macro

## ◆ canDecode()

bool UMLApp::canDecode | ( | const QMimeData * | mimeData | ) |

static private

Returns whether we can decode the given mimesource

## ◆ clearUndoStack()

void UMLApp::clearUndoStack | ( |  | ) |

Removes all entries from the UndoStack and RedoStack and disables the undo and redo actions.

## ◆ commonPolicy()

CodeGenerationPolicy * UMLApp::commonPolicy | ( |  | ) | const

Returns the default code generation policy.

## ◆ config()

KConfig * UMLApp::config | ( |  | ) |

Return the config data.

## ◆ createBirdView()

void UMLApp::createBirdView | ( | UMLView * | view | ) |

private

Create bird's view window in a dock widget.

## ◆ createDiagram()

void UMLApp::createDiagram | ( | Uml::DiagramType::Enum | type | ) |

private

Helper function to create diagram name and the diagram itself.

Parameters

  type | the type of diagram

## ◆ createGenerator()

CodeGenerator * UMLApp::createGenerator | ( |  | ) |

## ◆ createZoomAction()

QAction * UMLApp::createZoomAction | ( | int | zoom,
|  | int | currentZoom
| ) |  |

private

Helper method to create the zoom actions.

## ◆ currentView()

UMLView * UMLApp::currentView | ( |  | ) | const

Get the current view. This may return a null pointer (when no view was previously specified.)

## ◆ customEvent()

void UMLApp::customEvent | ( | QEvent * | e | ) |

protected virtual

Event handler to receive custom events. It handles events such as exporting all views from command line (in that case, it executes the exportAllViews method in the event).

## ◆ defaultCursor()

QCursor UMLApp::defaultCursor | ( |  | ) | const

## ◆ defaultLanguage()

Uml::ProgrammingLanguage::Enum UMLApp::defaultLanguage | ( |  | ) | const

Return the default code generation language as configured by KConfig. If the activeLanguage is not found in the KConfig then use Uml::ProgrammingLanguage::Cpp as the default.

## ◆ deleteBirdView()

void UMLApp::deleteBirdView | ( |  | ) |

## ◆ document()

UMLDoc * UMLApp::document | ( |  | ) | const

Returns a pointer to the current document connected to the KMainWindow instance. Used by the View class to access the document object's methods.

## ◆ docWindow()

DocWindow * UMLApp::docWindow | ( |  | ) | const

Returns the doc window used.

Returns
  the doc window being used

## ◆ editCutCopy()

bool UMLApp::editCutCopy | ( | bool | bFromView | ) |

Carries out the cut/copy command with different action performed depending on if from view or list view. Cut/Copy are the same. It is up to the caller to delete/cut the selection..

If the operation is successful, the signal sigCutSuccessful() is emitted.

Callers should connect to this signal to know what to do next.

## ◆ enablePrint()

void UMLApp::enablePrint | ( | bool | enable | ) |

Set whether to allow printing. It will enable/disable the menu/toolbar options.

Parameters

  enable | Set whether to allow printing.

## ◆ enableRedoAction()

void UMLApp::enableRedoAction | ( | bool | enable | ) |

Set whether to allow Redo. It will enable/disable the menu/toolbar options.

Parameters

  enable | Set whether to allow printing.

## ◆ enableUndo()

void UMLApp::enableUndo | ( | bool | enable | ) |

Set the state of undo support.

## ◆ enableUndoAction()

void UMLApp::enableUndoAction | ( | bool | enable | ) |

Set whether to allow Undo. It will enable/disable the menu/toolbar options.

Parameters

  enable | Set whether to allow printing.

## ◆ endMacro()

void UMLApp::endMacro | ( |  | ) |

End an U/R command macro

## ◆ executeCommand()

void UMLApp::executeCommand | ( | QUndoCommand * | cmd | ) |

Execute a command and push it on the undo stack.

## ◆ findMenu()

QMenu * UMLApp::findMenu | ( | const QString & | name | ) |

private

Searches for a menu with the given name.

Todo:
  This is an ugly _HACK_ to allow to compile umbrello. All the menu stuff should be ported to KDE4 (using actions)

Parameters

  name | The name of the menu to search for (name : not text)

## ◆ generator()

CodeGenerator * UMLApp::generator | ( |  | ) | const

Gets the appropriate CodeGenerator.

Returns
  Pointer to the CodeGenerator.

## ◆ handleCursorKeyReleaseEvent()

void UMLApp::handleCursorKeyReleaseEvent | ( | QKeyEvent * | e | ) |

protected

Helper method for handling cursor key release events (refactoring). TODO Move this to UMLWidgetController?

## ◆ imageMimeType()

QString UMLApp::imageMimeType | ( |  | ) | const

Gets the default mime type for all diagrams that are exported as images.

Returns
  The default MIME type for images.

## ◆ importFiles()

void UMLApp::importFiles | ( | QStringList & | fileList,
|  | const QString & | rootPath = `QString()`
| ) |  |

Import the source files that are in fileList.

## ◆ initActions()

void UMLApp::initActions | ( |  | ) |

protected

Initializes the KActions and the status bar of the application and calls setupGUI(). Note: Check also the file umbrelloui.rc and add actions there too.

## ◆ initClip()

void UMLApp::initClip | ( |  | ) |

private

Initialize Qt's global clipboard support for the application.

## ◆ initGenerator()

void UMLApp::initGenerator | ( |  | ) |

Reads the activeLanguage from the KConfig and calls updateLangSelectMenu()

## ◆ initSavedCodeGenerators()

void UMLApp::initSavedCodeGenerators | ( |  | ) |

private

## ◆ initStatusBar()

void UMLApp::initStatusBar | ( |  | ) |

protected

Sets up the statusbar for the main window by initializing a statuslabel.

## ◆ initWidgets()

void UMLApp::initWidgets | ( |  | ) |

protected

Creates the centerwidget of the KMainWindow instance and sets it as the view.

## ◆ isCutCopyState()

bool UMLApp::isCutCopyState | ( |  | ) | const

Returns the state on Cut/Copy.

Returns
  True if Cut/Copy is enabled.

## ◆ isPasteState()

bool UMLApp::isPasteState | ( |  | ) | const

Returns the paste state.

Returns
  True if Paste is enabled.

## ◆ isRedoActionEnabled()

bool UMLApp::isRedoActionEnabled | ( |  | ) | const

Returns the redo state.

Returns
  True if Redo is enabled. Is used for popupmenu of a view.

## ◆ isSimpleCodeGeneratorActive()

bool UMLApp::isSimpleCodeGeneratorActive | ( |  | ) | const

Determines if SimpleCodeGenerator is active.

Returns
  true if SimpleCodeGenerator is active.

## ◆ isUndoActionEnabled()

bool UMLApp::isUndoActionEnabled | ( |  | ) | const

Returns the undo state. Is used for popupmenu of a view.

Returns
  True if Undo is enabled.

## ◆ isUndoEnabled()

bool UMLApp::isUndoEnabled | ( |  | ) | const

Returns the state of undo support.

Returns
  True if undo is enabled.

## ◆ keyPressEvent()

void UMLApp::keyPressEvent | ( | QKeyEvent * | e | ) |

protected virtual

Event handler to receive key press events.

## ◆ keyReleaseEvent()

void UMLApp::keyReleaseEvent | ( | QKeyEvent * | e | ) |

protected virtual

Event handler for key release.

## ◆ listView()

UMLListView * UMLApp::listView | ( |  | ) | const

Returns a pointer to the list view.

Returns
  The listview being used.

## ◆ log()

void UMLApp::log | ( | const QString & | s | ) |

Adds a line to the log window.

## ◆ logDebug()

void UMLApp::logDebug | ( | const QString & | s | ) |

Logs a debug message, either to the log window or to the console.

Todo:
  This is not yet hooked up. Hooking it up entails vast changes because currently Umbrello uses the uDebug() stream and the stream usages (<<) need to be changed to normal function call syntax.

## ◆ logError()

void UMLApp::logError | ( | const QString & | s | ) |

Logs an error message, either to the log window or to the console.

## ◆ logInfo()

void UMLApp::logInfo | ( | const QString & | s | ) |

Logs an info message, either to the log window or to the console.

Todo:
  This is not yet hooked up but only because Umbrello does not have a uInfo() stream analogous to uDebug / uWarning / uError, i.e. hooking up does not imply a change avalanche in the existing code and can be done as needed.

## ◆ logToConsole()

bool UMLApp::logToConsole | ( |  | ) | const

Returns true if the environment variable UMBRELLO_LOG_TO_CONSOLE is set to 1 or if the log dock is not visible. The default is to print info/warnings/error messages to the log dock.

Returns
  True if warnings/errors shall be logged to the console.

## ◆ logWarn()

void UMLApp::logWarn | ( | const QString & | s | ) |

Logs a warning message, either to the log window or to the console.

## ◆ logWindow()

QListWidget * UMLApp::logWindow | ( |  | ) | const

Returns the log window used.

Returns
  the log window being used

## ◆ mainViewWidget()

QWidget * UMLApp::mainViewWidget | ( |  | ) | const

Returns the widget used as the parent for UMLViews.

Returns
  The main view widget.

## ◆ newDocument()

void UMLApp::newDocument | ( |  | ) |

Calls the UMLDoc method to create a new Document.

## ◆ openDocumentFile()

void UMLApp::openDocumentFile | ( | const QUrl & | url = `QUrl()` | ) |

Opens a file specified by commandline option.

## ◆ policyExt()

CodeGenPolicyExt * UMLApp::policyExt | ( |  | ) | const

Returns the CodeGenPolicyExt object.

## ◆ queryClose()

bool UMLApp::queryClose | ( |  | ) |

protected virtual

queryClose is called by KMainWindow on each closeEvent of a window. Counter to the default implementation (which only returns true), this calls saveModified() on the document object to ask if the document shall be saved if Modified; on cancel the closeEvent is rejected.

See also
  KMainWindow::queryClose
  KMainWindow::closeEvent

Returns
  True if window may be closed.

## ◆ readOptions()

void UMLApp::readOptions | ( |  | ) |

protected

Read general Options again and initialize all variables like the recent file list.

## ◆ readOptionState()

void UMLApp::readOptionState | ( |  | ) | const

private

Reads from the config file the options state. Not in readOptions as it needs to be read earlier than some of the other options, before some items are created.

## ◆ readProperties()

void UMLApp::readProperties | ( | const KConfigGroup & | cfg | ) |

protected virtual

Reads the session config file and restores the application's state including the last opened files and documents by reading the temporary files saved by saveProperties()

See also
  KMainWindow::readProperties

## ◆ redo()

void UMLApp::redo | ( |  | ) |

Redo last 'undone' command. Is called from popupmenu of a view.

## ◆ refactor()

void UMLApp::refactor | ( | UMLClassifier * | classifier | ) |

Call the refactoring assistant on a classifier.

Parameters

  classifier | Pointer to the classifier to refactor.

## ◆ resetStatusMsg()

void UMLApp::resetStatusMsg | ( |  | ) |

private

Helper method to reset the status bar message.

## ◆ saveOptions()

void UMLApp::saveOptions | ( |  | ) |

protected

Save general Options like all bar positions and status as well as the geometry and the recent file list to the configuration file.

## ◆ saveProperties()

void UMLApp::saveProperties | ( | KConfigGroup & | cfg | ) |

protected virtual

Saves the window properties for each open window during session end to the session config file, including saving the currently opened file by a temporary filename provided by KApplication.

See also
  KMainWindow::saveProperties

## ◆ setActiveLanguage()

void UMLApp::setActiveLanguage | ( | Uml::ProgrammingLanguage::Enum | pl | ) |

Set the language for which code will be generated.

Parameters

  pl | The name of the language to set

## ◆ setCurrentView()

void UMLApp::setCurrentView | ( | UMLView * | view,
|  | bool | updateTreeView = `true`
| ) |  |

Puts this view to the top of the viewStack, i.e. makes it visible to the user.

Parameters

  view | Pointer to the UMLView to push.
  updateTreeView | A false value disables updating of the tree view

## ◆ setDiagramMenuItemsState()

void UMLApp::setDiagramMenuItemsState | ( | bool | bState | ) |

Sets the state of the view properties menu item.

Parameters

  bState | Boolean, true to enable the view properties item.

## ◆ setGenerator() [1/2]

void UMLApp::setGenerator | ( | CodeGenerator * | gen,
|  | bool | giveWarning = `true`
| ) |  |

## ◆ setGenerator() [2/2]

CodeGenerator * UMLApp::setGenerator | ( | Uml::ProgrammingLanguage::Enum | pl | ) |

Auxiliary function for UMLDoc::loadExtensionsFromXMI(): Return the code generator of the given language if it already exists; if it does not yet exist then create it and return the newly created generator. It is the caller's responsibility to load XMI into the newly created generator.

## ◆ setImageMimeType()

void UMLApp::setImageMimeType | ( | const QString & | mimeType | ) |

Sets the default mime type for all diagrams that are exported as images.

Parameters

  mimeType | the mime type

## ◆ setLang_actionscript

void UMLApp::setLang_actionscript | ( |  | ) |

private slot

Slots for connection to the QActions of the m_langSelect menu.

## ◆ setLang_ada

void UMLApp::setLang_ada | ( |  | ) |

private slot

## ◆ setLang_cpp

void UMLApp::setLang_cpp | ( |  | ) |

private slot

## ◆ setLang_csharp

void UMLApp::setLang_csharp | ( |  | ) |

private slot

## ◆ setLang_d

void UMLApp::setLang_d | ( |  | ) |

private slot

## ◆ setLang_idl

void UMLApp::setLang_idl | ( |  | ) |

private slot

## ◆ setLang_java

void UMLApp::setLang_java | ( |  | ) |

private slot

## ◆ setLang_javascript

void UMLApp::setLang_javascript | ( |  | ) |

private slot

## ◆ setLang_mysql

void UMLApp::setLang_mysql | ( |  | ) |

private slot

## ◆ setLang_none

void UMLApp::setLang_none | ( |  | ) |

private slot

## ◆ setLang_pascal

void UMLApp::setLang_pascal | ( |  | ) |

private slot

## ◆ setLang_perl

void UMLApp::setLang_perl | ( |  | ) |

private slot

## ◆ setLang_php

void UMLApp::setLang_php | ( |  | ) |

private slot

## ◆ setLang_php5

void UMLApp::setLang_php5 | ( |  | ) |

private slot

## ◆ setLang_postgresql

void UMLApp::setLang_postgresql | ( |  | ) |

private slot

## ◆ setLang_python

void UMLApp::setLang_python | ( |  | ) |

private slot

## ◆ setLang_ruby

void UMLApp::setLang_ruby | ( |  | ) |

private slot

## ◆ setLang_sql

void UMLApp::setLang_sql | ( |  | ) |

private slot

## ◆ setLang_tcl

void UMLApp::setLang_tcl | ( |  | ) |

private slot

## ◆ setLang_vala

void UMLApp::setLang_vala | ( |  | ) |

private slot

## ◆ setLang_xmlschema

void UMLApp::setLang_xmlschema | ( |  | ) |

private slot

## ◆ setModified()

void UMLApp::setModified | ( | bool | modified | ) |

Sets whether the program has been modified. This will change how the program saves/exits.

Parameters

  modified | true - modified.

## ◆ setPolicyExt()

void UMLApp::setPolicyExt | ( | CodeGenPolicyExt * | policy | ) |

Sets the CodeGenPolicyExt object.

## ◆ setProgLangAction()

void UMLApp::setProgLangAction | ( | Uml::ProgrammingLanguage::Enum | pl,
|  | const char * | name,
|  | const char * | action
| ) |  |

private

Helper method to setup the programming language action.

## ◆ setup()

void UMLApp::setup | ( |  | ) |

Set up the UMLApp. To be called after the constructor, before anything else. Heavy weight initializations are factored from the constructor to here to avoid passing an UMLApp `this` pointer to other classes where the `this` pointer has not been fully constructed. In other words, it is safe for other classes to invoke UMLApp functions using the `this` pointer passed to them.

## ◆ setupZoomMenu

void UMLApp::setupZoomMenu | ( |  | ) |

slot

Prepares the zoom menu for display.

## ◆ setZoom()

void UMLApp::setZoom | ( | int | zoom,
|  | bool | withView = `true`
| ) |  |

private

Set the zoom factor of the current diagram.

Parameters

  zoom | Zoom factor in percentage.
  withView | also setup the currently displayed diagram

## ◆ shuttingDown()

bool UMLApp::shuttingDown | ( |  | ) |

static

Return true during shutdown, i.e. during ~UMLApp().

## ◆ sigCutSuccessful

void UMLApp::sigCutSuccessful | ( |  | ) |

signal

## ◆ slotActivityDiagram

void UMLApp::slotActivityDiagram | ( |  | ) |

slot

Create this view.

## ◆ slotAddDefaultDatatypes

void UMLApp::slotAddDefaultDatatypes | ( |  | ) |

slot

Calls the active code generator to add its default datatypes.

## ◆ slotAlignBottom

void UMLApp::slotAlignBottom | ( |  | ) |

slot

Bottom Alignment

## ◆ slotAlignHorizontalDistribute

void UMLApp::slotAlignHorizontalDistribute | ( |  | ) |

slot

Horizontal Distribute Alignment

## ◆ slotAlignHorizontalMiddle

void UMLApp::slotAlignHorizontalMiddle | ( |  | ) |

slot

Horizontal Middle Alignment

## ◆ slotAlignLeft

void UMLApp::slotAlignLeft | ( |  | ) |

slot

Left Alignment

## ◆ slotAlignRight

void UMLApp::slotAlignRight | ( |  | ) |

slot

Right Alignment

## ◆ slotAlignTop

void UMLApp::slotAlignTop | ( |  | ) |

slot

Top Alignment

## ◆ slotAlignVerticalDistribute

void UMLApp::slotAlignVerticalDistribute | ( |  | ) |

slot

Vertical Distribute Alignment

## ◆ slotAlignVerticalMiddle

void UMLApp::slotAlignVerticalMiddle | ( |  | ) |

slot

Vertical Middle Alignment

## ◆ slotApplyPrefs

void UMLApp::slotApplyPrefs | ( |  | ) |

slot

Commits the changes from the global preferences dialog.

## ◆ slotBirdViewChanged

void UMLApp::slotBirdViewChanged | ( | const QPointF & | delta | ) |

slot

Slot for changes of the bird view's rectangle by moving.

Parameters

  delta | change value for a move

## ◆ slotChangeTabLeft

void UMLApp::slotChangeTabLeft | ( |  | ) |

slot

Make the tab on the left of the current one the active one.

## ◆ slotChangeTabRight

void UMLApp::slotChangeTabRight | ( |  | ) |

slot

Make the tab on the right of the current one the active one.

## ◆ slotClassDiagram

void UMLApp::slotClassDiagram | ( |  | ) |

slot

Create this view.

## ◆ slotClassWizard

void UMLApp::slotClassWizard | ( |  | ) |

slot

Class wizard menu selection.

## ◆ slotClipDataChanged

void UMLApp::slotClipDataChanged | ( |  | ) |

slot

Notification of changed clipboard data.

## ◆ slotCloseDiagram

void UMLApp::slotCloseDiagram | ( | int | index | ) |

slot

Close the current diagram. Clicked on tab close button.

Parameters

  index | widget's index to close

## ◆ slotCollaborationDiagram

void UMLApp::slotCollaborationDiagram | ( |  | ) |

slot

Create this view.

## ◆ slotComponentDiagram

void UMLApp::slotComponentDiagram | ( |  | ) |

slot

Create this view.

## ◆ slotCopyChanged

void UMLApp::slotCopyChanged | ( |  | ) |

slot

Slot for enabling cut and copy to clipboard.

## ◆ slotCurrentProperties

void UMLApp::slotCurrentProperties | ( |  | ) |

slot

Menu selection for current view and contained widgets properties.

## ◆ slotCurrentViewChanged

void UMLApp::slotCurrentViewChanged | ( |  | ) |

slot

The displayed diagram has changed.

## ◆ slotCurrentViewClearDiagram

void UMLApp::slotCurrentViewClearDiagram | ( |  | ) |

slot

Menu selection for clear current view.

## ◆ slotCurrentViewExportImage

void UMLApp::slotCurrentViewExportImage | ( |  | ) |

slot

Menu selection for exporting current view as an image.

## ◆ slotCurrentViewToggleShowGrid

void UMLApp::slotCurrentViewToggleShowGrid | ( |  | ) |

slot

Menu selection for current view show grid property.

## ◆ slotCurrentViewToggleSnapToGrid

void UMLApp::slotCurrentViewToggleSnapToGrid | ( |  | ) |

slot

Menu selection for current view snap to grid property.

## ◆ slotDeleteDiagram

void UMLApp::slotDeleteDiagram | ( |  | ) |

slot

Deletes the current diagram. Called from menu action.

## ◆ slotDeleteSelected

void UMLApp::slotDeleteSelected | ( |  | ) |

slot

Deletes selected widgets or list view items.

## ◆ slotDeploymentDiagram

void UMLApp::slotDeploymentDiagram | ( |  | ) |

slot

Create this view.

## ◆ slotDiagramPopupMenu

void UMLApp::slotDiagramPopupMenu | ( | const QPoint & | point | ) |

private slot

Called when right clicking on tab widget.

Parameters

  point | the point where the right mouse button was clicked

## ◆ slotEditCopy

void UMLApp::slotEditCopy | ( |  | ) |

slot

Put the marked text/object into the clipboard.

## ◆ slotEditCut

void UMLApp::slotEditCut | ( |  | ) |

slot

Put the marked text/object into the clipboard and remove it from the document.

## ◆ slotEditPaste

void UMLApp::slotEditPaste | ( |  | ) |

slot

Paste the clipboard into the document.

## ◆ slotEditRedo

void UMLApp::slotEditRedo | ( |  | ) |

slot

Reverts the document back to the state it was prior to the last undo.

## ◆ slotEditUndo

void UMLApp::slotEditUndo | ( |  | ) |

slot

Reverts the document back to the state it was prior to the last action performed by the user.

## ◆ slotEntityRelationshipDiagram

void UMLApp::slotEntityRelationshipDiagram | ( |  | ) |

slot

Create this view.

## ◆ slotExecGenerationWizard

void UMLApp::slotExecGenerationWizard | ( |  | ) |

slot

Runs the code generation wizard.

## ◆ slotFileClose

void UMLApp::slotFileClose | ( |  | ) |

slot

Asks for saving if the file is modified, then closes the current file and window.

## ◆ slotFileExportDocbook

void UMLApp::slotFileExportDocbook | ( |  | ) |

slot

Exports the current model to docbook in a subdir of the current model directory named from the model name.

Todo:
  Let the user chose the destination directory and name, using network transparency.

## ◆ slotFileExportXhtml

void UMLApp::slotFileExportXhtml | ( |  | ) |

slot

Exports the current model to XHTML in a subdir of the current model directory named from the model name.

Todo:
  Let the user chose the destination directory and name, using network transparency.

## ◆ slotFileNew

void UMLApp::slotFileNew | ( |  | ) |

slot

Clears the document in the actual view to reuse it as the new document.

## ◆ slotFileOpen

void UMLApp::slotFileOpen | ( |  | ) |

slot

Open a file and load it into the document.

## ◆ slotFileOpenRecent

void UMLApp::slotFileOpenRecent | ( | const QUrl & | url | ) |

slot

Opens a file from the recent files menu.

## ◆ slotFilePrint

void UMLApp::slotFilePrint | ( |  | ) |

slot

Print the current file.

## ◆ slotFileQuit

void UMLApp::slotFileQuit | ( |  | ) |

slot

Closes all open windows by calling close() on each memberList item until the list is empty, then quits the application. If queryClose() returns false because the user canceled the saveModified() dialog, the closing aborts.

## ◆ slotFileSave

void UMLApp::slotFileSave | ( |  | ) |

slot

Save a document.

## ◆ slotFileSaveAs

bool UMLApp::slotFileSaveAs | ( |  | ) |

slot

Save a document by a new filename.

## ◆ slotFind

void UMLApp::slotFind | ( |  | ) |

slot

find text

## ◆ slotFindNext

void UMLApp::slotFindNext | ( |  | ) |

slot

Slot for showing next find result

## ◆ slotFindPrevious

void UMLApp::slotFindPrevious | ( |  | ) |

slot

Slot for showing previous find result

## ◆ slotGenerateAllCode

void UMLApp::slotGenerateAllCode | ( |  | ) |

slot

Generate code for all classes.

## ◆ slotImportClass

void UMLApp::slotImportClass | ( |  | ) |

slot

Import class menu selection.

## ◆ slotImportingWizard

void UMLApp::slotImportingWizard | ( |  | ) |

slot

Runs the code importing wizard.

## ◆ slotImportProject

void UMLApp::slotImportProject | ( |  | ) |

slot

Import project menu selection.

## ◆ slotMoveTabLeft

void UMLApp::slotMoveTabLeft | ( |  | ) |

slot

Move the current tab left.

## ◆ slotMoveTabRight

void UMLApp::slotMoveTabRight | ( |  | ) |

slot

Move the current tab right.

## ◆ slotObjectDiagram

void UMLApp::slotObjectDiagram | ( |  | ) |

slot

Create this view.

## ◆ slotOpenFileInEditor

bool UMLApp::slotOpenFileInEditor | ( | const QUrl & | file,
|  | int | startCursor = `0`,
|  | int | endCursor = `0`
| ) |  |

slot

open file in internal editor

Parameters

  file | path to the file to open
  startCursor | cursor position for selection start
  endCursor | cursor position for selection end

Returns
  true file could be loaded
  false file could not be loaded

## ◆ slotPrefs

void UMLApp::slotPrefs | ( | MultiPageDialogBase::PageType | page = `MultiPageDialogBase::GeneralPage` | ) |

slot

Shows the global preferences dialog.

## ◆ slotPrintPreview

void UMLApp::slotPrintPreview | ( |  | ) |

slot

Print preview

## ◆ slotPrintPreviewPaintRequested

void UMLApp::slotPrintPreviewPaintRequested | ( | QPrinter * | printer | ) |

slot

Print preview painting slot

## ◆ slotPrintSettings

bool UMLApp::slotPrintSettings | ( |  | ) |

slot

Slot for showing a print settings dialog.

## ◆ slotSelectAll

void UMLApp::slotSelectAll | ( |  | ) |

slot

Select all widgets on the current diagram.

## ◆ slotSequenceDiagram

void UMLApp::slotSequenceDiagram | ( |  | ) |

slot

Create this view.

## ◆ slotSetZoom

void UMLApp::slotSetZoom | ( | QAction * | action | ) |

slot

Set the zoom factor of the current diagram.

Parameters

  action | Action which is called.

## ◆ slotShowGridToggled

void UMLApp::slotShowGridToggled | ( | bool | gridOn | ) |

slot

The show grid value has been changed.

## ◆ slotSnapToGridToggled

void UMLApp::slotSnapToGridToggled | ( | bool | gridOn | ) |

slot

The snap to grid value has been changed.

## ◆ slotStateDiagram

void UMLApp::slotStateDiagram | ( |  | ) |

slot

Create this view.

## ◆ slotStatusMsg

void UMLApp::slotStatusMsg | ( | const QString & | text | ) |

slot

Changes the statusbar contents for the standard label permanently, used to indicate current actions.

Parameters

  text | The text that is displayed in the statusbar

## ◆ slotTabChanged

void UMLApp::slotTabChanged | ( | int | index | ) |

slot

Called when the tab has changed.

Parameters

  index | the index of the changed tab widget

## ◆ slotUpdateViews

void UMLApp::slotUpdateViews | ( |  | ) |

slot

Register new views (aka diagram) with the GUI so they show up in the menu.

## ◆ slotUseCaseDiagram

void UMLApp::slotUseCaseDiagram | ( |  | ) |

slot

Create this view.

## ◆ slotViewsExportImages

void UMLApp::slotViewsExportImages | ( |  | ) |

slot

Menu selection for exporting all views as images.

## ◆ slotXhtmlDocGenerationFinished

void UMLApp::slotXhtmlDocGenerationFinished | ( | bool | status | ) |

slot

This slot deletes the current XHTML documentation generator as soon as this one signals that it has finished.

Parameters

  status | true if successful else false

## ◆ slotZoom100

void UMLApp::slotZoom100 | ( |  | ) |

slot

Set zoom to 100%.

## ◆ slotZoomFit

void UMLApp::slotZoomFit | ( |  | ) |

slot

Set zoom to fit the view.

## ◆ slotZoomIn

void UMLApp::slotZoomIn | ( |  | ) |

slot

Increase the zoom factor of the current diagram.

## ◆ slotZoomOut

void UMLApp::slotZoomOut | ( |  | ) |

slot

Decrease the zoom factor of the current diagram.

## ◆ slotZoomSliderMoved

void UMLApp::slotZoomSliderMoved | ( | int | value | ) |

slot

Connected to by the zoomAction, a value of between 300 and 2200 is scaled to zoom to between 9% and 525%. The min and max values of the slider are hard coded in the statusbar slider.

## ◆ statusBarMsg()

QString UMLApp::statusBarMsg | ( |  | ) | const

Returns the current text in the status bar.

Returns
  The text in the status bar.

## ◆ tabWidget()

QTabWidget * UMLApp::tabWidget | ( |  | ) |

Return the tab widget.

## ◆ undo()

void UMLApp::undo | ( |  | ) |

Undo last command. Is called from popupmenu of a view.

## ◆ updateLangSelectMenu()

void UMLApp::updateLangSelectMenu | ( | Uml::ProgrammingLanguage::Enum | activeLanguage | ) |

protected

Updates the Menu for language selection and sets the active language. If no active language is found or if it is not one of the registered languages it tries to fall back to Cpp

## ◆ viewCodeDocument()

void UMLApp::viewCodeDocument | ( | UMLClassifier * | classifier | ) |

Call the code viewing assistant on a given UMLClassifier.

Parameters

  classifier | Pointer to the classifier to view.

## ◆ workToolBar()

WorkToolBar * UMLApp::workToolBar | ( |  | ) | const

Returns the toolbar being used.

Returns
  The toolbar being used.

## Friends And Related Function Documentation

## ◆ UMLAppPrivate

friend class UMLAppPrivate

friend

## ◆ UMLView

friend class UMLView

friend

## Member Data Documentation

## ◆ deleteDiagram

QAction* UMLApp::deleteDiagram

private

## ◆ deleteSelectedWidget

QAction* UMLApp::deleteSelectedWidget

private

## ◆ editCopy

QAction* UMLApp::editCopy

private

## ◆ editCut

QAction* UMLApp::editCut

private

## ◆ editPaste

QAction* UMLApp::editPaste

private

## ◆ editRedo

QAction* UMLApp::editRedo

private

## ◆ editUndo

QAction* UMLApp::editUndo

private

## ◆ fileOpenRecent

KRecentFilesAction* UMLApp::fileOpenRecent

private

## ◆ filePrint

QAction* UMLApp::filePrint

private

## ◆ m_activeLanguage

Uml::ProgrammingLanguage::Enum UMLApp::m_activeLanguage

private

Active language.

## ◆ m_clipTimer

QTimer* UMLApp::m_clipTimer

private

## ◆ m_codegen

CodeGenerator* UMLApp::m_codegen

private

Active code generator.

## ◆ m_commoncodegenpolicy

CodeGenerationPolicy* UMLApp::m_commoncodegenpolicy

private

## ◆ m_config

KSharedConfigPtr UMLApp::m_config

private

The configuration object of the application.

## ◆ m_copyTimer

QTimer* UMLApp::m_copyTimer

private

## ◆ m_d

UMLAppPrivate* UMLApp::m_d

private

## ◆ m_defaultZoomWdg

QWidget* UMLApp::m_defaultZoomWdg

private

## ◆ m_doc

UMLDoc* UMLApp::m_doc

private

Doc represents your actual document and is created only once. It keeps information such as filename and does the loading and saving of your files.

## ◆ m_hasBegunMacro

bool UMLApp::m_hasBegunMacro

private

Macro creation flag.

## ◆ m_imageExporterAll

UMLViewImageExporterAll* UMLApp::m_imageExporterAll

private

Used to export all the views.

## ◆ m_imageMimeType

QString UMLApp::m_imageMimeType

private

Default mime type to use for image export.

## ◆ m_langAct

QAction* UMLApp::m_langAct[Uml::ProgrammingLanguage::Reserved+1]

private

## ◆ m_langSelect

QMenu* UMLApp::m_langSelect

private

For selecting the active language.

## ◆ m_layout

QVBoxLayout* UMLApp::m_layout

private

Layout supports the dynamic management of the diagram representation (tabbed/stacked) if tabbed diagrams is enabled it contains m_tabWidget if tabbed diagrams is disabled it contains m_viewStack

## ◆ m_loading

bool UMLApp::m_loading

private

True if the application is opening an existing document.

## ◆ m_mainDock

QDockWidget* UMLApp::m_mainDock

private

The widget which shows the diagrams.

## ◆ m_newSessionButton

QToolButton* UMLApp::m_newSessionButton

private

## ◆ m_policyext

CodeGenPolicyExt* UMLApp::m_policyext

private

Active policy extension.

## ◆ m_printer

QPrinter* UMLApp::m_printer

private

print instance

## ◆ m_printSettings

QPointer<DiagramPrintPage> UMLApp::m_printSettings

private

printer diagram settings

## ◆ m_propertyDock

QDockWidget* UMLApp::m_propertyDock

private

Contains the property browser widget.

## ◆ m_pUndoStack

QUndoStack* UMLApp::m_pUndoStack

private

UndoStack used to store actions, to provide Undo/Redo feature.

## ◆ m_pZoomFitSBTB

StatusBarToolButton* UMLApp::m_pZoomFitSBTB

private

## ◆ m_pZoomFullSBTB

StatusBarToolButton* UMLApp::m_pZoomFullSBTB

private

## ◆ m_pZoomInPB

QPushButton* UMLApp::m_pZoomInPB

private

## ◆ m_pZoomOutPB

QPushButton* UMLApp::m_pZoomOutPB

private

## ◆ m_pZoomSlider

QSlider* UMLApp::m_pZoomSlider

private

## ◆ m_refactoringAssist

RefactoringAssistant* UMLApp::m_refactoringAssist

private

Refactoring assistant.

## ◆ m_settingsDialog

SettingsDialog* UMLApp::m_settingsDialog

private

The global UML settings dialog.

## ◆ m_statusBarMessage

QLabel* UMLApp::m_statusBarMessage

private

## ◆ m_tabWidget

QTabWidget* UMLApp::m_tabWidget

private

Shows, and is parent of, all the UMLViews (diagrams) if tabbed diagrams are enabled.

## ◆ m_toolsbar

WorkToolBar* UMLApp::m_toolsbar

private

## ◆ m_undoEnabled

bool UMLApp::m_undoEnabled

private

Undo enabled flag.

## ◆ m_view

QPointer<UMLView> UMLApp::m_view

private

View is the main widget which represents your working area. The View class should handle all events of the view widget. It is kept empty so you can create your view according to your application's needs by changing the view class.

## ◆ m_viewStack

QStackedWidget* UMLApp::m_viewStack

private

Shows, and is parent of, all the UMLViews (diagrams) if tabbed diagrams are not enabled.

## ◆ m_xhtmlGenerator

XhtmlGenerator* UMLApp::m_xhtmlGenerator

private

The running XHTML documentation generator. Null when no generation is running.

## ◆ m_zoomSelect

QMenu* UMLApp::m_zoomSelect

private

Popup menu for zoom selection.

## ◆ m_zoomValueLbl

QLabel* UMLApp::m_zoomValueLbl

private

Statusbar items

## ◆ newDiagram

KActionMenu* UMLApp::newDiagram

private

## ◆ printPreview

QAction* UMLApp::printPreview

private

## ◆ s_instance

UMLApp * UMLApp::s_instance

static private

The last created instance of this class.

Static pointer, holding the last created instance.

## ◆ s_shuttingDown

bool UMLApp::s_shuttingDown = false

static private

Static flag returned by static function shuttingDown(). It is intentionally an extra static member because it is queried after calling the UMLApp destructor. Member accesses shall be avoided during destruction.

## ◆ viewClearDiagram

QAction* UMLApp::viewClearDiagram

private

## ◆ viewExportImage

QAction* UMLApp::viewExportImage

private

## ◆ viewProperties

QAction* UMLApp::viewProperties

private

## ◆ viewShowGrid

KToggleAction* UMLApp::viewShowGrid

private

## ◆ viewSnapToGrid

KToggleAction* UMLApp::viewSnapToGrid

private

## ◆ zoom100Action

QAction* UMLApp::zoom100Action

private

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

- umbrello/umlapp.h
- umbrello/umlapp.cpp