• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdesdk API Reference
  • KDE Home
  • Contact Us
 

umbrello/umbrello

  • sources
  • kde-4.14
  • kdesdk
  • umbrello
  • umbrello
  • widgets
widgetbase.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  * This program is free software; you can redistribute it and/or modify *
3  * it under the terms of the GNU General Public License as published by *
4  * the Free Software Foundation; either version 2 of the License, or *
5  * (at your option) any later version. *
6  * *
7  * copyright (C) 2004-2014 *
8  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
9  ***************************************************************************/
10 
11 #include "widgetbase.h"
12 
13 #include "classifier.h"
14 #include "debug_utils.h"
15 #include "floatingtextwidget.h"
16 #include "optionstate.h"
17 #include "uml.h"
18 #include "umldoc.h"
19 #include "umlobject.h"
20 #include "umlscene.h"
21 
22 #include <kcolordialog.h>
23 #include <kfontdialog.h>
24 
25 #include <QAction>
26 #include <QPointer>
27 
35 WidgetBase::WidgetBase(UMLScene *scene, WidgetType type)
36  : QGraphicsObject(),
37  m_baseType(type),
38  m_scene(scene),
39  m_umlObject(0),
40  m_textColor(QColor("black")),
41  m_lineColor(QColor("black")),
42  m_fillColor(QColor("yellow")),
43  m_brush(m_fillColor),
44  m_lineWidth(0), // initialize with 0 to have valid start condition
45  m_useFillColor(true),
46  m_usesDiagramTextColor(true),
47  m_usesDiagramLineColor(true),
48  m_usesDiagramLineWidth(true)
49 {
50  setSelected(false);
51  scene->addItem(this);
52 
53  // TODO 310283
54  setFlags(ItemIsSelectable);
55  //setFlags(ItemIsSelectable | ItemIsMovable |ItemSendsGeometryChanges);
56  if (m_scene) {
57  m_usesDiagramLineColor = true;
58  m_usesDiagramLineWidth = true;
59  m_usesDiagramTextColor = true;
60  const Settings::OptionState& optionState = m_scene->optionState();
61  m_textColor = optionState.uiState.textColor;
62  m_lineColor = optionState.uiState.lineColor;
63  m_lineWidth = optionState.uiState.lineWidth;
64  m_font = optionState.uiState.font;
65  } else {
66  uError() << "WidgetBase constructor: SERIOUS PROBLEM - m_scene is NULL";
67  }
68 }
69 
73 WidgetBase::~WidgetBase()
74 {
75 }
76 
80 WidgetBase::WidgetType WidgetBase::baseType() const
81 {
82  return m_baseType;
83 }
84 
88 QLatin1String WidgetBase::baseTypeStr() const
89 {
90  return QLatin1String(ENUM_NAME(WidgetBase, WidgetType, m_baseType));
91 }
92 
93 /*
94  * Sets the state of whether the widget is selected.
95  *
96  * @param select The state of whether the widget is selected.
97  */
98 void WidgetBase::setSelected(bool select)
99 {
100  QGraphicsObject::setSelected(select);
101 }
102 
107 UMLScene* WidgetBase::umlScene() const
108 {
109  return m_scene;
110 }
111 
117 UMLDoc* WidgetBase::umlDoc() const
118 {
119  return UMLApp::app()->document();
120 }
121 
127 UMLObject* WidgetBase::umlObject() const
128 {
129  return m_umlObject;
130 }
131 
137 void WidgetBase::setUMLObject(UMLObject *obj)
138 {
139  m_umlObject = obj;
140 }
141 
145 void WidgetBase::setID(Uml::ID::Type id)
146 {
147  if (m_umlObject) {
148  if (m_umlObject->id() != Uml::ID::None)
149  uWarning() << "changing old UMLObject " << Uml::ID::toString(m_umlObject->id())
150  << " to " << Uml::ID::toString(id);
151  m_umlObject->setID(id);
152  }
153  m_nId = id;
154 }
155 
159 Uml::ID::Type WidgetBase::id() const
160 {
161  if (m_umlObject)
162  return m_umlObject->id();
163  return m_nId;
164 }
165 
171 QString WidgetBase::documentation() const
172 {
173  if (m_umlObject)
174  return m_umlObject->doc();
175  return m_Doc;
176 }
177 
183 bool WidgetBase::hasDocumentation()
184 {
185  if (m_umlObject)
186  return m_umlObject->hasDoc();
187  return !m_Doc.isEmpty();
188 }
189 
196 void WidgetBase::setDocumentation(const QString& doc)
197 {
198  if (m_umlObject)
199  m_umlObject->setDoc(doc);
200  else
201  m_Doc = doc;
202 }
203 
211 QString WidgetBase::name() const
212 {
213  if (m_umlObject)
214  return m_umlObject->name();
215  return m_Text;
216 }
217 
224 void WidgetBase::setName(const QString &strName)
225 {
226  if (m_umlObject)
227  m_umlObject->setName(strName);
228  else
229  m_Text = strName;
230 }
231 
237 QColor WidgetBase::textColor() const
238 {
239  return m_textColor;
240 }
241 
247 void WidgetBase::setTextColor(const QColor &color)
248 {
249  m_textColor = color;
250  m_usesDiagramTextColor = false;
251 }
252 
258 QColor WidgetBase::lineColor() const
259 {
260  return m_lineColor;
261 }
262 
268 void WidgetBase::setLineColor(const QColor &color)
269 {
270  m_lineColor = color;
271  m_usesDiagramLineColor = false;
272 }
273 
279 QColor WidgetBase::fillColor() const
280 {
281  return m_fillColor;
282 }
283 
289 void WidgetBase::setFillColor(const QColor &color)
290 {
291  m_fillColor = color;
292  m_usesDiagramFillColor = false;
293 }
294 
300 uint WidgetBase::lineWidth() const
301 {
302  return m_lineWidth;
303 }
304 
310 void WidgetBase::setLineWidth(uint width)
311 {
312  m_lineWidth = width;
313  m_usesDiagramLineWidth = false;
314 }
315 
321 bool WidgetBase::useFillColor()
322 {
323  return m_useFillColor;
324 }
325 
331 void WidgetBase::setUseFillColor(bool state)
332 {
333  m_useFillColor = state;
334  m_usesDiagramUseFillColor = false;
335 }
336 
342 bool WidgetBase::usesDiagramTextColor() const
343 {
344  return m_usesDiagramTextColor;
345 }
346 
352 void WidgetBase::setUsesDiagramTextColor(bool state)
353 {
354  if (m_usesDiagramTextColor == state) {
355  return;
356  }
357  m_usesDiagramTextColor = state;
358  setTextColor(m_textColor);
359 }
360 
366 bool WidgetBase::usesDiagramLineColor() const
367 {
368  return m_usesDiagramLineColor;
369 }
370 
376 void WidgetBase::setUsesDiagramLineColor(bool state)
377 {
378  m_usesDiagramLineColor = state;
379 }
380 
386 bool WidgetBase::usesDiagramFillColor() const
387 {
388  return m_usesDiagramFillColor;
389 }
390 
396 void WidgetBase::setUsesDiagramFillColor(bool state)
397 {
398  m_usesDiagramFillColor = state;
399 }
400 
406 bool WidgetBase::usesDiagramUseFillColor() const
407 {
408  return m_usesDiagramUseFillColor;
409 }
410 
416 void WidgetBase::setUsesDiagramUseFillColor(bool state)
417 {
418  m_usesDiagramUseFillColor = state;
419 }
420 
426 bool WidgetBase::usesDiagramLineWidth() const
427 {
428  return m_usesDiagramLineWidth;
429 }
430 
436 void WidgetBase::setUsesDiagramLineWidth(bool state)
437 {
438  m_usesDiagramLineWidth = state;
439 }
440 
445 QFont WidgetBase::font() const
446 {
447  return m_font;
448 }
449 
453 void WidgetBase::setFont(const QFont& font)
454 {
455  m_font = font;
456 }
457 
462 void WidgetBase::showPropertiesDialog()
463 {
464 }
465 
477 void WidgetBase::saveToXMI(QDomDocument& qDoc, QDomElement& qElement)
478  {
479  Q_UNUSED(qDoc)
480 
481  qElement.setAttribute(QLatin1String("textcolor"), m_usesDiagramTextColor ? QLatin1String("none")
482  : m_textColor.name());
483  if (m_usesDiagramLineColor) {
484  qElement.setAttribute(QLatin1String("linecolor"), QLatin1String("none"));
485  } else {
486  qElement.setAttribute(QLatin1String("linecolor"), m_lineColor.name());
487  }
488  if (m_usesDiagramLineWidth) {
489  qElement.setAttribute(QLatin1String("linewidth"), QLatin1String("none"));
490  } else {
491  qElement.setAttribute(QLatin1String("linewidth"), m_lineWidth);
492  }
493  qElement.setAttribute(QLatin1String("usefillcolor"), m_useFillColor);
494  // for consistency the following attributes now use american spelling for "color"
495  qElement.setAttribute(QLatin1String("usesdiagramfillcolor"), m_usesDiagramFillColor);
496  qElement.setAttribute(QLatin1String("usesdiagramusefillcolor"), m_usesDiagramUseFillColor);
497  if (m_usesDiagramFillColor) {
498  qElement.setAttribute(QLatin1String("fillcolor"), QLatin1String("none"));
499  } else {
500  qElement.setAttribute(QLatin1String("fillcolor"), m_fillColor.name());
501  }
502  qElement.setAttribute(QLatin1String("font"), m_font.toString());
503 }
504 
517 bool WidgetBase::loadFromXMI(QDomElement& qElement)
518 {
519  // first load from "linecolour" and then overwrite with the "linecolor"
520  // attribute if that one is present. The "linecolour" name was a "typo" in
521  // earlier versions of Umbrello
522  QString lineColor = qElement.attribute(QLatin1String("linecolour"), QLatin1String("none"));
523  lineColor = qElement.attribute(QLatin1String("linecolor"), lineColor);
524  if (lineColor != QLatin1String("none")) {
525  m_lineColor = QColor(lineColor);
526  m_usesDiagramLineColor = false;
527  } else if (m_baseType != WidgetBase::wt_Box && m_scene != NULL) {
528  m_lineColor = m_scene->lineColor();
529  m_usesDiagramLineColor = true;
530  }
531  QString lineWidth = qElement.attribute(QLatin1String("linewidth"), QLatin1String("none"));
532  if (lineWidth != QLatin1String("none")) {
533  m_lineWidth = lineWidth.toInt();
534  m_usesDiagramLineWidth = false;
535  } else if (m_scene) {
536  m_lineWidth = m_scene->lineWidth();
537  m_usesDiagramLineWidth = true;
538  }
539  QString textColor = qElement.attribute(QLatin1String("textcolor"), QLatin1String("none"));
540  if (textColor != QLatin1String("none")) {
541  m_textColor = QColor(textColor);
542  m_usesDiagramTextColor = false;
543  } else if (m_scene) {
544  m_textColor = m_scene->textColor();
545  m_usesDiagramTextColor = true;
546  }
547  QString usefillcolor = qElement.attribute(QLatin1String("usefillcolor"), QLatin1String("1"));
548  m_useFillColor = (bool)usefillcolor.toInt();
549  /*
550  For the next three *color attributes, there was a mixup of american and english spelling for "color".
551  So first we need to keep backward compatibility and try to retrieve the *colour attribute.
552  Next we overwrite this value if we find a *color, otherwise the former *colour is kept.
553  */
554  QString fillColor = qElement.attribute(QLatin1String("fillcolour"), QLatin1String("none"));
555  fillColor = qElement.attribute(QLatin1String("fillcolor"), fillColor);
556  if (fillColor != QLatin1String("none")) {
557  m_fillColor = QColor(fillColor);
558  }
559 
560  QString usesDiagramFillColor = qElement.attribute(QLatin1String("usesdiagramfillcolour"), QLatin1String("1"));
561  usesDiagramFillColor = qElement.attribute(QLatin1String("usesdiagramfillcolor"), usesDiagramFillColor);
562  m_usesDiagramFillColor = (bool)usesDiagramFillColor.toInt();
563 
564  QString usesDiagramUseFillColor = qElement.attribute(QLatin1String("usesdiagramusefillcolour"), QLatin1String("1"));
565  usesDiagramUseFillColor = qElement.attribute(QLatin1String("usesdiagramusefillcolor"), usesDiagramUseFillColor);
566  m_usesDiagramUseFillColor = (bool)usesDiagramUseFillColor.toInt();
567 
568  QString font = qElement.attribute(QLatin1String("font"));
569  if (!font.isEmpty()) {
570  QFont newFont;
571  newFont.fromString(font);
572  m_font = newFont;
573  } else {
574  uWarning() << "Using default font " << m_font.toString()
575  << " for widget with xmi.id " << Uml::ID::toString(m_nId);
576  }
577 
578  return true;
579 }
580 
584 WidgetBase& WidgetBase::operator=(const WidgetBase& other)
585 {
586  m_baseType = other.m_baseType;
587  m_scene = other.m_scene;
588  m_umlObject = other.m_umlObject;
589  m_Doc = other.m_Doc;
590  m_Text = other.m_Text;
591  m_nId = other.m_nId;
592  m_textColor = other.m_textColor;
593  m_lineColor = other.m_lineColor;
594  m_fillColor = other.m_fillColor;
595  m_brush = other.m_brush;
596  m_font = other.m_font;
597  m_lineWidth = other.m_lineWidth;
598  m_useFillColor = other.m_useFillColor;
599  m_usesDiagramTextColor = other.m_usesDiagramTextColor;
600  m_usesDiagramLineColor = other.m_usesDiagramLineColor;
601  m_usesDiagramFillColor = other.m_usesDiagramFillColor;
602  m_usesDiagramLineWidth = other.m_usesDiagramLineWidth;
603  setSelected(other.isSelected());
604 
605  return *this;
606 }
607 
611 QRectF WidgetBase::rect() const
612 {
613  return m_rect;
614 }
615 
619 void WidgetBase::setRect(const QRectF& rect)
620 {
621  if (m_rect == rect)
622  return;
623  prepareGeometryChange();
624  m_rect = rect;
625  update();
626 }
627 
631 void WidgetBase::setRect(qreal x, qreal y, qreal width, qreal height)
632 {
633  setRect(QRectF(x, y, width, height));
634 }
635 
640 QRectF WidgetBase::boundingRect() const
641 {
642  int halfWidth = lineWidth()/2;
643  return m_rect.adjusted(-halfWidth, -halfWidth, halfWidth, halfWidth);
644 }
645 
655 UMLWidget* WidgetBase::onWidget(const QPointF &p)
656 {
657  UMLWidget *uw = dynamic_cast<UMLWidget*>(this);
658  if (uw == NULL)
659  return NULL;
660  const qreal w = m_rect.width();
661  const qreal h = m_rect.height();
662  const qreal left = x(); // don't use m_rect.x() for this, it is always 0
663  const qreal right = left + w;
664  const qreal top = y(); // don't use m_rect.y() for this, it is always 0
665  const qreal bottom = top + h;
666  // uDebug() << "p=(" << p.x() << "," << p.y()
667  // << "), x=" << left << ", y=" << top << ", w=" << w << ", h=" << h
668  // << "; right=" << right << ", bottom=" << bottom;
669  if (p.x() < left || p.x() > right ||
670  p.y() < top || p.y() > bottom) { // Qt coord.sys. origin in top left corner
671  // uDebug() << "returning NULL";
672  return NULL;
673  }
674  // uDebug() << "returning this";
675  return uw;
676 }
677 
686 void WidgetBase::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
687 {
688  Q_UNUSED(painter); Q_UNUSED(option); Q_UNUSED(widget);
689 }
690 
694 void WidgetBase::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
695 {
696  event->accept();
697  uDebug() << "widget = " << name() << " / type = " << baseTypeStr();
698 
699  UMLScene *scene = umlScene();
700 
701  // If right-click was done on a widget that was not selected, clear the
702  // current selection and select the new widget. The context menu is shown
703  // with actions for that single widget.
704  // If a keyboard modifier was used, add the widget to the current selection
705  // and show the menu with actions for the whole selection.
706  if (!isSelected()) {
707  Qt::KeyboardModifiers forSelection = (Qt::ControlModifier | Qt::ShiftModifier);
708  if ((event->modifiers() & forSelection) == 0) {
709  scene->clearSelected();
710  }
711 
712  if (umlObject() != 0) {
713  scene->selectWidget(dynamic_cast<UMLWidget*>(this));
714  } else {
715  setSelected(true);
716  }
717  }
718 
719  int count = scene->selectedCount(true);
720 
721  // Determine multi state
722  bool multi = (isSelected() && count > 1);
723 
724  ListPopupMenu popup(0, this, multi, scene->getUniqueSelectionType());
725 
726  // Disable the "view code" menu for simple code generators
727  if (UMLApp::app()->isSimpleCodeGeneratorActive()) {
728  popup.setActionEnabled(ListPopupMenu::mt_ViewCode, false);
729  }
730 
731  QAction *triggered = popup.exec(event->screenPos());
732  ListPopupMenu *parentMenu = ListPopupMenu::menuFromAction(triggered);
733 
734  if (!parentMenu) {
735  uDebug() << "Action's data field does not contain ListPopupMenu pointer";
736  return;
737  }
738 
739  WidgetBase *ownerWidget = parentMenu->ownerWidget();
740  // assert because logic is based on only WidgetBase being the owner of
741  // ListPopupMenu actions executed in this context menu.
742  Q_ASSERT_X(ownerWidget != 0, "WidgetBase::contextMenuEvent",
743  "ownerWidget is null which means action belonging to UMLView, UMLScene"
744  " or UMLObject is the one triggered in ListPopupMenu");
745 
746  ownerWidget->slotMenuSelection(triggered);
747 }
748 
757 void WidgetBase::slotMenuSelection(QAction *trigger)
758 {
759  if (!trigger) {
760  return;
761  }
762  QColor newColor;
763 
764  const WidgetType wt = m_baseType; // short hand name
765 
766  ListPopupMenu::MenuType sel = ListPopupMenu::typeFromAction(trigger);
767  switch (sel) {
768  case ListPopupMenu::mt_Rename:
769  umlDoc()->renameUMLObject(umlObject());
770  break;
771 
772  case ListPopupMenu::mt_Properties:
773  if (wt == WidgetBase::wt_Actor || wt == WidgetBase::wt_UseCase ||
774  wt == WidgetBase::wt_Package || wt == WidgetBase::wt_Interface ||
775  wt == WidgetBase::wt_Datatype || wt == WidgetBase::wt_Node ||
776  wt == WidgetBase::wt_Component || wt == WidgetBase::wt_Artifact ||
777  wt == WidgetBase::wt_Enum || wt == WidgetBase::wt_Entity ||
778  wt == WidgetBase::wt_Port ||
779  (wt == WidgetBase::wt_Class && umlScene()->type() == Uml::DiagramType::Class)) {
780 
781  showPropertiesDialog();
782 
783  } else if (wt == WidgetBase::wt_Object) {
784  m_umlObject->showPropertiesPagedDialog();
785  } else {
786  uWarning() << "making properties dialog for unknown widget type";
787  }
788  break;
789 
790  case ListPopupMenu::mt_Line_Color:
791  case ListPopupMenu::mt_Line_Color_Selection:
792  newColor = lineColor();
793  if (KColorDialog::getColor(newColor)) {
794  if (sel == ListPopupMenu::mt_Line_Color_Selection) {
795  umlScene()->selectionSetLineColor(newColor);
796  } else {
797  setLineColor(newColor);
798  }
799  setUsesDiagramLineColor(false);
800  umlDoc()->setModified(true);
801  }
802  break;
803 
804  case ListPopupMenu::mt_Fill_Color:
805  case ListPopupMenu::mt_Fill_Color_Selection:
806  newColor = fillColor();
807  if (KColorDialog::getColor(newColor)) {
808  if (sel == ListPopupMenu::mt_Fill_Color_Selection) {
809  umlScene()->selectionSetFillColor(newColor);
810  } else {
811  setFillColor(newColor);
812  }
813  umlDoc()->setModified(true);
814  }
815  break;
816 
817  case ListPopupMenu::mt_Use_Fill_Color:
818  setUseFillColor(!m_useFillColor);
819  break;
820 
821  case ListPopupMenu::mt_Set_Use_Fill_Color_Selection:
822  umlScene()->selectionUseFillColor(true);
823  break;
824 
825  case ListPopupMenu::mt_Unset_Use_Fill_Color_Selection:
826  umlScene()->selectionUseFillColor(false);
827  break;
828 
829  case ListPopupMenu::mt_Show_Attributes_Selection:
830  case ListPopupMenu::mt_Hide_Attributes_Selection:
831  umlScene()->selectionSetVisualProperty(
832  ClassifierWidget::ShowAttributes, sel != ListPopupMenu::mt_Hide_Attributes_Selection
833  );
834  break;
835 
836  case ListPopupMenu::mt_Show_Operations_Selection:
837  case ListPopupMenu::mt_Hide_Operations_Selection:
838  umlScene()->selectionSetVisualProperty(
839  ClassifierWidget::ShowOperations, sel != ListPopupMenu::mt_Hide_Operations_Selection
840  );
841  break;
842 
843  case ListPopupMenu::mt_Show_Visibility_Selection:
844  case ListPopupMenu::mt_Hide_Visibility_Selection:
845  umlScene()->selectionSetVisualProperty(
846  ClassifierWidget::ShowVisibility, sel != ListPopupMenu::mt_Hide_Visibility_Selection
847  );
848  break;
849 
850  case ListPopupMenu::mt_Show_Operation_Signature_Selection:
851  case ListPopupMenu::mt_Hide_Operation_Signature_Selection:
852  umlScene()->selectionSetVisualProperty(
853  ClassifierWidget::ShowOperationSignature, sel != ListPopupMenu::mt_Hide_Operation_Signature_Selection
854  );
855  break;
856 
857  case ListPopupMenu::mt_Show_Attribute_Signature_Selection:
858  case ListPopupMenu::mt_Hide_Attribute_Signature_Selection:
859  umlScene()->selectionSetVisualProperty(
860  ClassifierWidget::ShowAttributeSignature, sel != ListPopupMenu::mt_Hide_Attribute_Signature_Selection
861  );
862  break;
863 
864  case ListPopupMenu::mt_Show_Packages_Selection:
865  case ListPopupMenu::mt_Hide_Packages_Selection:
866  umlScene()->selectionSetVisualProperty(
867  ClassifierWidget::ShowPackage, sel != ListPopupMenu::mt_Hide_Packages_Selection
868  );
869  break;
870 
871  case ListPopupMenu::mt_Show_Stereotypes_Selection:
872  case ListPopupMenu::mt_Hide_Stereotypes_Selection:
873  umlScene()->selectionSetVisualProperty(
874  ClassifierWidget::ShowStereotype, sel != ListPopupMenu::mt_Hide_Stereotypes_Selection
875  );
876  break;
877 
878  case ListPopupMenu::mt_Hide_NonPublic_Selection:
879  case ListPopupMenu::mt_Show_NonPublic_Selection:
880  umlScene()->selectionSetVisualProperty(
881  ClassifierWidget::ShowPublicOnly, sel != ListPopupMenu::mt_Show_NonPublic_Selection
882  );
883  break;
884 
885 
886  case ListPopupMenu::mt_ViewCode: {
887  UMLClassifier *c = dynamic_cast<UMLClassifier*>(umlObject());
888  if (c) {
889  UMLApp::app()->viewCodeDocument(c);
890  }
891  break;
892  }
893 
894  case ListPopupMenu::mt_Delete:
895  umlScene()->deleteSelection();
896  break;
897 
898  case ListPopupMenu::mt_Change_Font:
899  case ListPopupMenu::mt_Change_Font_Selection: {
900  QFont newFont = font();
901  if (KFontDialog::getFont(newFont, KFontChooser::NoDisplayFlags, 0) == KFontDialog::Accepted) {
902  if (sel == ListPopupMenu::mt_Change_Font_Selection) {
903  m_scene->selectionSetFont(newFont);
904  } else {
905  setFont(newFont);
906  }
907  }
908  }
909  break;
910 
911  case ListPopupMenu::mt_Cut:
912  umlScene()->setStartedCut();
913  UMLApp::app()->slotEditCut();
914  break;
915 
916  case ListPopupMenu::mt_Copy:
917  UMLApp::app()->slotEditCopy();
918  break;
919 
920  case ListPopupMenu::mt_Paste:
921  UMLApp::app()->slotEditPaste();
922  break;
923 
924  case ListPopupMenu::mt_Refactoring:
925  //check if we are operating on a classifier, or some other kind of UMLObject
926  if (dynamic_cast<UMLClassifier*>(umlObject())) {
927  UMLApp::app()->refactor(static_cast<UMLClassifier*>(umlObject()));
928  }
929  break;
930 
931  case ListPopupMenu::mt_Clone:
932  {
933  foreach (UMLWidget* widget, umlScene()->selectedWidgets()) {
934  if (Model_Utils::isCloneable(widget->baseType())) {
935  UMLObject *clone = widget->umlObject()->clone();
936  umlScene()->addObject(clone);
937  }
938  }
939  }
940  break;
941 
942  case ListPopupMenu::mt_Rename_MultiA:
943  case ListPopupMenu::mt_Rename_MultiB:
944  case ListPopupMenu::mt_Rename_Name:
945  case ListPopupMenu::mt_Rename_RoleAName:
946  case ListPopupMenu::mt_Rename_RoleBName: {
947  FloatingTextWidget *ft = static_cast<FloatingTextWidget*>(this);
948  ft->handleRename();
949  break;
950  }
951  case ListPopupMenu::mt_Align_Right:
952  umlScene()->alignRight();
953  break;
954  case ListPopupMenu::mt_Align_Left:
955  umlScene()->alignLeft();
956  break;
957  case ListPopupMenu::mt_Align_Top:
958  umlScene()->alignTop();
959  break;
960  case ListPopupMenu::mt_Align_Bottom:
961  umlScene()->alignBottom();
962  break;
963  case ListPopupMenu::mt_Align_VerticalMiddle:
964  umlScene()->alignVerticalMiddle();
965  break;
966  case ListPopupMenu::mt_Align_HorizontalMiddle:
967  umlScene()->alignHorizontalMiddle();
968  break;
969  case ListPopupMenu::mt_Align_VerticalDistribute:
970  umlScene()->alignVerticalDistribute();
971  break;
972  case ListPopupMenu::mt_Align_HorizontalDistribute:
973  umlScene()->alignHorizontalDistribute();
974  break;
975  default:
976  uDebug() << "MenuType " << ListPopupMenu::toString(sel) << " not implemented";
977  break;
978  }
979 }
980 
987 QString WidgetBase::toString(WidgetType wt)
988 {
989  return QLatin1String(ENUM_NAME(WidgetBase, WidgetType, wt));
990 }
991 
992 #include "widgetbase.moc"
Settings::UIState::lineWidth
uint lineWidth
Definition: optionstate.h:55
WidgetBase::setUsesDiagramFillColor
void setUsesDiagramFillColor(bool state)
Set state if diagram fill color is used.
Definition: widgetbase.cpp:396
WidgetBase::m_usesDiagramTextColor
bool m_usesDiagramTextColor
true by default, false if the colors have been explicitly set for this widget.
Definition: widgetbase.h:184
ListPopupMenu::mt_Fill_Color_Selection
Definition: listpopupmenu.h:200
QGraphicsItem::setSelected
void setSelected(bool selected)
UMLObject::setName
virtual void setName(const QString &strName)
Set the UMLObject's name.
Definition: umlobject.cpp:167
umlobject.h
Settings::UIState::lineColor
QColor lineColor
Definition: optionstate.h:54
QGraphicsItem::x
qreal x() const
QGraphicsItem::y
qreal y() const
QWidget
ListPopupMenu::mt_Align_Bottom
Definition: listpopupmenu.h:254
WidgetBase::m_usesDiagramLineWidth
bool m_usesDiagramLineWidth
Definition: widgetbase.h:188
WidgetBase::wt_Package
Definition: widgetbase.h:51
ListPopupMenu::mt_Align_Right
Definition: listpopupmenu.h:251
UMLClassifier
This class defines the non-graphical information required for a UML Classifier (ie a class or interfa...
Definition: classifier.h:39
UMLObject::showPropertiesPagedDialog
virtual bool showPropertiesPagedDialog(int page=0, bool assoc=false)
This method is called if you wish to see the properties of a UMLObject.
Definition: umlobject.cpp:119
WidgetBase::m_textColor
QColor m_textColor
Color of the text of the widget. Is saved to XMI.
Definition: widgetbase.h:171
UMLScene::selectedCount
int selectedCount(bool filterText=false) const
Return the amount of widgets selected.
Definition: umlscene.cpp:1822
UMLScene::setStartedCut
void setStartedCut()
Called by the view or any of its children when they start a cut operation.
Definition: umlscene.cpp:3183
ListPopupMenu::mt_Hide_NonPublic_Selection
Definition: listpopupmenu.h:148
WidgetBase::umlObject
UMLObject * umlObject() const
Returns the UMLObject set to represent.
Definition: widgetbase.cpp:127
ClassifierWidget::ShowStereotype
Definition: classifierwidget.h:43
ListPopupMenu::mt_Show_Attributes_Selection
Definition: listpopupmenu.h:139
UMLScene::lineWidth
uint lineWidth() const
Returns the line width to use.
Definition: umlscene.cpp:370
WidgetBase::fillColor
QColor fillColor() const
Returns fill color.
Definition: widgetbase.cpp:279
Settings::optionState
OptionState & optionState()
Definition: optionstate.cpp:25
WidgetBase::wt_Datatype
Definition: widgetbase.h:48
ListPopupMenu::toString
static QString toString(MenuType menu)
Convert enum MenuType to string.
Definition: listpopupmenu.cpp:2099
WidgetBase::wt_Actor
Definition: widgetbase.h:44
WidgetBase::umlDoc
UMLDoc * umlDoc() const
This is shortcut method for UMLApp::app()->document().
Definition: widgetbase.cpp:117
ClassifierWidget::ShowVisibility
Definition: classifierwidget.h:46
QColor::name
QString name() const
UMLApp::slotEditCut
void slotEditCut()
Put the marked text/object into the clipboard and remove it from the document.
Definition: uml.cpp:1515
WidgetBase::setUsesDiagramTextColor
void setUsesDiagramTextColor(bool state)
Set state if diagram text color is used.
Definition: widgetbase.cpp:352
ListPopupMenu::mt_Copy
Definition: listpopupmenu.h:180
UMLScene::addObject
void addObject(UMLObject *object)
Add an object to the application, and update the view.
Definition: umlscene.cpp:3839
QDomElement::attribute
QString attribute(const QString &name, const QString &defValue) const
ListPopupMenu::mt_Clone
Definition: listpopupmenu.h:230
ListPopupMenu::mt_Rename_MultiB
Definition: listpopupmenu.h:206
ClassifierWidget::ShowOperationSignature
only in setter
Definition: classifierwidget.h:50
ListPopupMenu::mt_Show_Packages_Selection
Definition: listpopupmenu.h:145
WidgetBase::showPropertiesDialog
virtual void showPropertiesDialog()
A virtual method for the widget to display a property dialog box.
Definition: widgetbase.cpp:462
WidgetBase::~WidgetBase
virtual ~WidgetBase()
Destructor.
Definition: widgetbase.cpp:73
WidgetBase
Common base class for UMLWidget and AssociationWidget.
Definition: widgetbase.h:35
WidgetBase::paint
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
Draws the UMLWidget on the given paint device.
Definition: widgetbase.cpp:686
QFont
ListPopupMenu::mt_Show_Visibility_Selection
Definition: listpopupmenu.h:154
umlscene.h
WidgetBase::usesDiagramUseFillColor
bool usesDiagramUseFillColor() const
Returns state of diagram use fill color is used.
Definition: widgetbase.cpp:406
ListPopupMenu::mt_Paste
Definition: listpopupmenu.h:181
UMLScene::alignBottom
void alignBottom()
Bottom Alignment.
Definition: umlscene.cpp:4038
WidgetBase::m_usesDiagramUseFillColor
bool m_usesDiagramUseFillColor
Definition: widgetbase.h:187
WidgetBase::m_lineWidth
uint m_lineWidth
Width of the lines of the widget. Is saved to XMI.
Definition: widgetbase.h:176
WidgetBase::umlScene
UMLScene * umlScene() const
Deliver a pointer to the connected UMLView (needed esp.
Definition: widgetbase.cpp:107
ListPopupMenu::MenuType
MenuType
< This type hosts all possible menu types.
Definition: listpopupmenu.h:47
UMLApp::app
static UMLApp * app()
Get the last created instance of this class.
Definition: uml.cpp:214
WidgetBase::setUMLObject
virtual void setUMLObject(UMLObject *obj)
Sets the UMLObject to represent.
Definition: widgetbase.cpp:137
WidgetBase::m_font
QFont m_font
Definition: widgetbase.h:175
ListPopupMenu::mt_Show_Stereotypes_Selection
Definition: listpopupmenu.h:151
ListPopupMenu::mt_Rename
Definition: listpopupmenu.h:171
UMLScene::alignHorizontalDistribute
void alignHorizontalDistribute()
Horizontal Distribute Alignment.
Definition: umlscene.cpp:4142
ClassifierWidget::ShowPackage
Definition: classifierwidget.h:47
WidgetBase::contextMenuEvent
virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
Reimplemented to show appropriate context menu.
Definition: widgetbase.cpp:694
WidgetBase::textColor
QColor textColor() const
Returns text color.
Definition: widgetbase.cpp:237
WidgetBase::saveToXMI
virtual void saveToXMI(QDomDocument &qDoc, QDomElement &qElement)
A virtual method to save the properties of this widget into a QDomElement i.e xml.
Definition: widgetbase.cpp:477
ClassifierWidget::ShowAttributeSignature
only in setter
Definition: classifierwidget.h:51
UMLScene::selectionUseFillColor
void selectionUseFillColor(bool useFC)
Set the useFillColor variable to all selected widgets.
Definition: umlscene.cpp:1327
UMLScene::selectionSetVisualProperty
void selectionSetVisualProperty(ClassifierWidget::VisualProperty property, bool value)
Set or unset the visual property (show ..) setting of all selected items.
Definition: umlscene.cpp:1412
ListPopupMenu::mt_Line_Color
Definition: listpopupmenu.h:197
ListPopupMenu::mt_Change_Font
Definition: listpopupmenu.h:210
UMLScene::optionState
const Settings::OptionState & optionState() const
Returns the options being used.
Definition: umlscene.cpp:428
WidgetBase::loadFromXMI
virtual bool loadFromXMI(QDomElement &qElement)
A virtual method to load the properties of this widget from a QDomElement into this widget...
Definition: widgetbase.cpp:517
Model_Utils::isCloneable
bool isCloneable(WidgetBase::WidgetType type)
Determines whether the given widget type is cloneable.
Definition: model_utils.cpp:52
WidgetBase::WidgetType
WidgetType
Definition: widgetbase.h:41
WidgetBase::m_Doc
QString m_Doc
Only used if m_umlObject is not set.
Definition: widgetbase.h:160
uWarning
#define uWarning()
Definition: debug_utils.h:107
WidgetBase::wt_Interface
Definition: widgetbase.h:47
WidgetBase::boundingRect
virtual QRectF boundingRect() const
Definition: widgetbase.cpp:640
UMLScene::alignVerticalMiddle
void alignVerticalMiddle()
Vertical Middle Alignment.
Definition: umlscene.cpp:4055
UMLScene::selectionSetFillColor
void selectionSetFillColor(const QColor &color)
Set the fill color for all the currently selected items.
Definition: umlscene.cpp:1397
UMLScene::textColor
const QColor & textColor() const
Returns the text color to use.
Definition: umlscene.cpp:389
ListPopupMenu::mt_Refactoring
Definition: listpopupmenu.h:228
classifier.h
WidgetBase::id
Uml::ID::Type id() const
Read property of m_nId.
Definition: widgetbase.cpp:159
UMLApp::document
UMLDoc * document() const
Returns a pointer to the current document connected to the KMainWindow instance.
Definition: uml.cpp:910
QGraphicsItem::scene
QGraphicsScene * scene() const
WidgetBase::m_baseType
WidgetType m_baseType
Type of widget.
Definition: widgetbase.h:157
WidgetBase::name
QString name() const
Gets the name from the corresponding UMLObject if this widget has an underlying UMLObject; if it does...
Definition: widgetbase.cpp:211
ListPopupMenu::menuFromAction
static ListPopupMenu * menuFromAction(QAction *action)
Convenience method to extract the ListPopupMenu pointer stored in QAction objects belonging to ListPo...
Definition: listpopupmenu.cpp:1335
WidgetBase::wt_Component
Definition: widgetbase.h:59
WidgetBase::useFillColor
bool useFillColor()
Return state of fill color usage.
Definition: widgetbase.cpp:321
debug_utils.h
QGraphicsItem::update
void update(const QRectF &rect)
ListPopupMenu::mt_Show_Operations_Selection
Definition: listpopupmenu.h:142
ClassifierWidget::ShowPublicOnly
Definition: classifierwidget.h:45
UMLScene::alignRight
void alignRight()
Right Alignment.
Definition: umlscene.cpp:4003
WidgetBase::documentation
QString documentation() const
Used by some child classes to get documentation.
Definition: widgetbase.cpp:171
WidgetBase::setFillColor
virtual void setFillColor(const QColor &color)
Sets the fill color.
Definition: widgetbase.cpp:289
QGraphicsItem::type
virtual int type() const
Settings::OptionState
Definition: optionstate.h:142
UMLObject
This class is the non-graphical version of UMLWidget.
Definition: umlobject.h:41
QPointF
WidgetBase::m_umlObject
UMLObject * m_umlObject
Definition: widgetbase.h:159
WidgetBase::setName
virtual void setName(const QString &strName)
Sets the name in the corresponding UMLObject.
Definition: widgetbase.cpp:224
ENUM_NAME
#define ENUM_NAME(o, e, v)
In a Q_OBJECT class define any enum as Q_ENUMS.
Definition: debug_utils.h:125
ListPopupMenu::mt_Hide_Packages_Selection
Definition: listpopupmenu.h:146
WidgetBase::setLineColor
virtual void setLineColor(const QColor &color)
Sets the line color.
Definition: widgetbase.cpp:268
ListPopupMenu::mt_Line_Color_Selection
Definition: listpopupmenu.h:198
FloatingTextWidget::handleRename
void handleRename()
Handle the ListPopupMenu::mt_Rename case of the slotMenuSelection.
Definition: floatingtextwidget.cpp:388
WidgetBase::toString
static QString toString(WidgetType wt)
Helper function for debug output.
Definition: widgetbase.cpp:987
WidgetBase::m_usesDiagramFillColor
bool m_usesDiagramFillColor
Definition: widgetbase.h:186
QPointF::x
qreal x() const
QPointF::y
qreal y() const
ListPopupMenu::mt_Align_VerticalDistribute
Definition: listpopupmenu.h:257
WidgetBase::m_Text
QString m_Text
Definition: widgetbase.h:161
ListPopupMenu::mt_Change_Font_Selection
Definition: listpopupmenu.h:211
QFont::fromString
bool fromString(const QString &descrip)
WidgetBase::m_fillColor
QColor m_fillColor
color of the background of the widget
Definition: widgetbase.h:173
WidgetBase::wt_Enum
Definition: widgetbase.h:49
ListPopupMenu::mt_Align_HorizontalMiddle
Definition: listpopupmenu.h:256
ListPopupMenu::mt_Align_HorizontalDistribute
Definition: listpopupmenu.h:258
optionstate.h
ListPopupMenu::mt_Fill_Color
Definition: listpopupmenu.h:199
WidgetBase::wt_Class
Definition: widgetbase.h:46
WidgetBase::usesDiagramTextColor
bool usesDiagramTextColor() const
Returns state if diagram text color is used.
Definition: widgetbase.cpp:342
QDomElement::setAttribute
void setAttribute(const QString &name, const QString &value)
QGraphicsItem::isSelected
bool isSelected() const
ListPopupMenu::mt_Delete
Definition: listpopupmenu.h:174
WidgetBase::setLineWidth
virtual void setLineWidth(uint width)
Sets the line width.
Definition: widgetbase.cpp:310
QString::toInt
int toInt(bool *ok, int base) const
QPainter
QString::isEmpty
bool isEmpty() const
WidgetBase::slotMenuSelection
virtual void slotMenuSelection(QAction *trigger)
This is usually called synchronously after menu.exec() and trigger's parent is always the ListPopupMe...
Definition: widgetbase.cpp:757
WidgetBase::setUseFillColor
virtual void setUseFillColor(bool state)
Set state if fill color is used.
Definition: widgetbase.cpp:331
UMLObject::setDoc
void setDoc(const QString &d)
Sets the documentation for the object.
Definition: umlobject.cpp:420
WidgetBase::setDocumentation
void setDocumentation(const QString &doc)
Used by some child classes to set documentation.
Definition: widgetbase.cpp:196
WidgetBase::m_usesDiagramLineColor
bool m_usesDiagramLineColor
Definition: widgetbase.h:185
UMLApp::isSimpleCodeGeneratorActive
bool isSimpleCodeGeneratorActive()
Determines if SimpleCodeGenerator is active.
Definition: uml.cpp:2292
ListPopupMenu::mt_ViewCode
Definition: listpopupmenu.h:229
ListPopupMenu::mt_Use_Fill_Color
Definition: listpopupmenu.h:201
WidgetBase::lineWidth
uint lineWidth() const
Returns line width.
Definition: widgetbase.cpp:300
ListPopupMenu::mt_Hide_Attribute_Signature_Selection
Definition: listpopupmenu.h:161
WidgetBase::m_brush
QBrush m_brush
Definition: widgetbase.h:174
ListPopupMenu::mt_Cut
Definition: listpopupmenu.h:179
QGraphicsSceneContextMenuEvent
ClassifierWidget::ShowOperations
Definition: classifierwidget.h:44
WidgetBase::wt_Artifact
Definition: widgetbase.h:60
QString
QColor
ListPopupMenu::mt_Show_Operation_Signature_Selection
Definition: listpopupmenu.h:157
WidgetBase::rect
QRectF rect() const
return drawing rectangle of widget in local coordinates
Definition: widgetbase.cpp:611
uDebug
#define uDebug()
Definition: debug_utils.h:105
ListPopupMenu::mt_Align_Left
Definition: listpopupmenu.h:252
UMLDoc::setModified
void setModified(bool modified=true)
Sets the modified flag for the document after a modifying action on the view connected to the documen...
Definition: umldoc.cpp:2652
QGraphicsObject
QGraphicsItem::prepareGeometryChange
void prepareGeometryChange()
Settings::OptionState::uiState
UIState uiState
Definition: optionstate.h:144
ListPopupMenu::ownerWidget
WidgetBase * ownerWidget() const
Utility method to fetch owner of the menu.
Definition: listpopupmenu.cpp:2036
UMLScene::deleteSelection
void deleteSelection()
Delete the selected widgets list and the widgets in it.
Definition: umlscene.cpp:1427
ListPopupMenu::mt_Rename_RoleAName
Definition: listpopupmenu.h:208
WidgetBase::onWidget
virtual UMLWidget * onWidget(const QPointF &p)
Test if point is inside the bounding rectangle of the widget.
Definition: widgetbase.cpp:655
Settings::UIState::textColor
QColor textColor
Definition: optionstate.h:56
UMLScene::selectionSetFont
void selectionSetFont(const QFont &font)
Set the font for all the currently selected items.
Definition: umlscene.cpp:1345
UMLScene::selectionSetLineColor
void selectionSetLineColor(const QColor &color)
Set the line color for all the currently selected items.
Definition: umlscene.cpp:1359
ListPopupMenu::mt_Align_Top
Definition: listpopupmenu.h:253
Uml::ID::Type
std::string Type
Definition: basictypes.h:325
UMLScene::alignLeft
void alignLeft()
Left Alignment.
Definition: umlscene.cpp:3985
QDomDocument
UMLObject::clone
virtual UMLObject * clone() const =0
WidgetBase::setUsesDiagramLineWidth
void setUsesDiagramLineWidth(bool state)
Set state of diagram line width is used.
Definition: widgetbase.cpp:436
WidgetBase::usesDiagramLineWidth
bool usesDiagramLineWidth() const
Returns state of diagram line width is used.
Definition: widgetbase.cpp:426
WidgetBase::m_lineColor
QColor m_lineColor
Color of the lines of the widget. Is saved to XMI.
Definition: widgetbase.h:172
Uml::ID::toString
QString toString(const ID::Type &id)
Definition: basictypes.cpp:1132
UMLScene::alignHorizontalMiddle
void alignHorizontalMiddle()
Horizontal Middle Alignment.
Definition: umlscene.cpp:4083
ListPopupMenu::mt_Hide_Attributes_Selection
Definition: listpopupmenu.h:140
WidgetBase::WidgetBase
WidgetBase(UMLScene *scene, WidgetType type=wt_UMLWidget)
Creates a WidgetBase object.
Definition: widgetbase.cpp:35
WidgetBase::m_nId
Uml::ID::Type m_nId
This ID is only used when the widget does not have a corresponding UMLObject (i.e.
Definition: widgetbase.h:169
WidgetBase::setFont
virtual void setFont(const QFont &font)
Set the font used to display text inside this widget.
Definition: widgetbase.cpp:453
umldoc.h
WidgetBase::setUsesDiagramUseFillColor
void setUsesDiagramUseFillColor(bool state)
Set state of diagram use fill color is used.
Definition: widgetbase.cpp:416
QRectF::width
qreal width() const
WidgetBase::m_rect
QRectF m_rect
widget size
Definition: widgetbase.h:162
ListPopupMenu::mt_Set_Use_Fill_Color_Selection
Definition: listpopupmenu.h:202
ListPopupMenu::setActionEnabled
void setActionEnabled(MenuType idx, bool value)
Enables the action item.
Definition: listpopupmenu.cpp:2067
Uml::DiagramType::Class
Definition: basictypes.h:77
WidgetBase::wt_Entity
Definition: widgetbase.h:50
QFont::toString
QString toString() const
QLatin1String
ListPopupMenu::mt_Hide_Stereotypes_Selection
Definition: listpopupmenu.h:152
ListPopupMenu::mt_Properties
Definition: listpopupmenu.h:170
ListPopupMenu::mt_Rename_Name
Definition: listpopupmenu.h:207
FloatingTextWidget
Displays a line of text or an operation.
Definition: floatingtextwidget.h:36
ListPopupMenu::mt_Rename_MultiA
Definition: listpopupmenu.h:205
QRectF
UMLScene::clearSelected
void clearSelected()
Clear the selected widgets list.
Definition: umlscene.cpp:1301
WidgetBase::usesDiagramLineColor
bool usesDiagramLineColor() const
Returns state of diagram line color is used.
Definition: widgetbase.cpp:366
WidgetBase::baseTypeStr
QLatin1String baseTypeStr() const
Definition: widgetbase.cpp:88
ListPopupMenu::mt_Hide_Operation_Signature_Selection
Definition: listpopupmenu.h:158
QAction
QGraphicsItem::setFlags
void setFlags(QFlags< QGraphicsItem::GraphicsItemFlag > flags)
UMLScene::getUniqueSelectionType
WidgetBase::WidgetType getUniqueSelectionType()
Returns the type of the selected widget or widgets.
Definition: umlscene.cpp:3267
UMLDoc::renameUMLObject
void renameUMLObject(UMLObject *o)
Used to rename a UMLObject.
Definition: umldoc.cpp:1380
ListPopupMenu::mt_Rename_RoleBName
Definition: listpopupmenu.h:209
QGraphicsSceneContextMenuEvent::modifiers
Qt::KeyboardModifiers modifiers() const
ListPopupMenu
A popup menu that depending on what type is set to will display a different menu. ...
Definition: listpopupmenu.h:40
floatingtextwidget.h
WidgetBase::baseType
WidgetType baseType() const
Read property of m_baseType.
Definition: widgetbase.cpp:80
WidgetBase::setSelected
virtual void setSelected(bool select)
Definition: widgetbase.cpp:98
uError
#define uError()
Definition: debug_utils.h:106
widgetbase.h
ListPopupMenu::mt_Hide_Operations_Selection
Definition: listpopupmenu.h:143
WidgetBase::setUsesDiagramLineColor
void setUsesDiagramLineColor(bool state)
Set state of diagram line color is used.
Definition: widgetbase.cpp:376
WidgetBase::wt_UseCase
Definition: widgetbase.h:45
UMLScene::alignTop
void alignTop()
Top Alignment.
Definition: umlscene.cpp:4020
QStyleOptionGraphicsItem
UMLApp::viewCodeDocument
void viewCodeDocument(UMLClassifier *classifier)
Call the code viewing assistant on a given UMLClassifier.
Definition: uml.cpp:2175
WidgetBase::wt_Box
Definition: widgetbase.h:54
QRectF::adjusted
QRectF adjusted(qreal dx1, qreal dy1, qreal dx2, qreal dy2) const
UMLObject::name
QString name() const
Returns a copy of m_name.
Definition: umlobject.cpp:186
QRectF::height
qreal height() const
WidgetBase::setID
void setID(Uml::ID::Type id)
Write property of m_nId.
Definition: widgetbase.cpp:145
Settings::UIState::font
QFont font
Definition: optionstate.h:57
UMLScene::selectWidget
void selectWidget(UMLWidget *widget, QRectF *rect=0)
Select a single widget.
Definition: umlscene.cpp:1637
QGraphicsSceneContextMenuEvent::screenPos
QPoint screenPos() const
UMLScene::lineColor
const QColor & lineColor() const
Returns the line color to use.
Definition: umlscene.cpp:351
WidgetBase::setRect
void setRect(const QRectF &rect)
set widget rectangle in item coordinates
Definition: widgetbase.cpp:619
ListPopupMenu::mt_Show_NonPublic_Selection
Definition: listpopupmenu.h:149
UMLApp::refactor
void refactor(UMLClassifier *classifier)
Call the refactoring assistant on a classifier.
Definition: uml.cpp:2206
WidgetBase::wt_Object
Definition: widgetbase.h:52
WidgetBase::m_useFillColor
bool m_useFillColor
flag indicates if the UMLWidget uses the Diagram FillColour
Definition: widgetbase.h:177
UMLObject::setID
virtual void setID(Uml::ID::Type NewID)
Assigns a new Id to the object.
Definition: umlobject.cpp:158
ListPopupMenu::typeFromAction
static MenuType typeFromAction(QAction *action)
Convenience method to extract the ListPopupMenu type from an action.
Definition: listpopupmenu.cpp:1234
QGraphicsScene::addItem
void addItem(QGraphicsItem *item)
WidgetBase::wt_Node
Definition: widgetbase.h:61
ListPopupMenu::mt_Unset_Use_Fill_Color_Selection
Definition: listpopupmenu.h:203
UMLApp::slotEditCopy
void slotEditCopy()
Put the marked text/object into the clipboard.
Definition: uml.cpp:1538
QDomElement
WidgetBase::operator=
WidgetBase & operator=(const WidgetBase &other)
Assignment operator.
Definition: widgetbase.cpp:584
Uml::ID::None
const Type None
special value for uninitialized ID
Definition: basictypes.h:327
ListPopupMenu::mt_Hide_Visibility_Selection
Definition: listpopupmenu.h:155
WidgetBase::font
virtual QFont font() const
Returns the font used for diaplaying any text.
Definition: widgetbase.cpp:445
UMLScene::alignVerticalDistribute
void alignVerticalDistribute()
Vertical Distribute Alignment.
Definition: umlscene.cpp:4111
WidgetBase::setTextColor
virtual void setTextColor(const QColor &color)
Sets the text color.
Definition: widgetbase.cpp:247
ClassifierWidget::ShowAttributes
Definition: classifierwidget.h:48
ListPopupMenu::mt_Align_VerticalMiddle
Definition: listpopupmenu.h:255
UMLApp::slotEditPaste
void slotEditPaste()
Paste the clipboard into the document.
Definition: uml.cpp:1550
UMLScene
UMLScene instances represent diagrams.
Definition: umlscene.h:68
WidgetBase::lineColor
QColor lineColor() const
Returns line color.
Definition: widgetbase.cpp:258
WidgetBase::wt_Port
Definition: widgetbase.h:72
uml.h
WidgetBase::m_scene
UMLScene * m_scene
Definition: widgetbase.h:158
ListPopupMenu::mt_Show_Attribute_Signature_Selection
Definition: listpopupmenu.h:160
UMLObject::doc
QString doc() const
Returns the documentation for the object.
Definition: umlobject.cpp:400
UMLObject::hasDoc
bool hasDoc() const
Returns state of documentation for the object.
Definition: umlobject.cpp:410
WidgetBase::usesDiagramFillColor
bool usesDiagramFillColor() const
Returns state of diagram fill color is used.
Definition: widgetbase.cpp:386
UMLDoc
UMLDoc provides a document object for a document-view model.
Definition: umldoc.h:64
Qt::KeyboardModifiers
typedef KeyboardModifiers
WidgetBase::hasDocumentation
bool hasDocumentation()
Returns state of documentation for the widget.
Definition: widgetbase.cpp:183
UMLObject::id
virtual Uml::ID::Type id() const
Returns the ID of the object.
Definition: umlobject.cpp:390
UMLWidget
This is the base class for nearly all graphical widgets.
Definition: umlwidget.h:38
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:40:27 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

umbrello/umbrello

Skip menu "umbrello/umbrello"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdesdk API Reference

Skip menu "kdesdk API Reference"
  • kapptemplate
  • kcachegrind
  • kompare
  • lokalize
  • umbrello
  •   umbrello

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal