[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [umbrello/394230-bug-fixing] umbrello: Fix adding ports to components on component diagram
From: Ralf Habacker <null () kde ! org>
Date: 2018-09-17 11:35:51
Message-ID: E1g1rol-0003n8-Pd () code ! kde ! org
[Download RAW message or body]
Git commit 6377bb02345a82030ac7c0fa1b3bdea131cae6a6 by Ralf Habacker.
Committed on 17/09/2018 at 10:32.
Pushed by habacker into branch '394230-bug-fixing'.
Fix adding ports to components on component diagram
CCBUG:394230
M +11 -0 umbrello/menus/widgetbasepopupmenu.cpp
M +15 -0 umbrello/umlwidgets/umlwidget.cpp
https://commits.kde.org/umbrello/6377bb02345a82030ac7c0fa1b3bdea131cae6a6
diff --git a/umbrello/menus/widgetbasepopupmenu.cpp \
b/umbrello/menus/widgetbasepopupmenu.cpp index 1f14d0b10..abd230db5 100644
--- a/umbrello/menus/widgetbasepopupmenu.cpp
+++ b/umbrello/menus/widgetbasepopupmenu.cpp
@@ -617,6 +617,17 @@ void \
WidgetBasePopupMenu::insertSubMenuNew(WidgetBase::WidgetType type, KMenu *m menu = \
makeNewMenu();
switch (type) {
+ case WidgetBase::wt_Actor:
+ case WidgetBase::wt_UseCase:
+ insert(mt_Actor, menu);
+ insert(mt_UseCase, menu);
+ break;
+ case WidgetBase::wt_Component:
+ insert(mt_Component, menu);
+ if (Settings::optionState().generalState.uml2)
+ insert(mt_Port, menu);
+ insert(mt_Artifact, menu);
+ break;
case WidgetBase::wt_Class:
insert(mt_Attribute, menu, \
Icon_Utils::SmallIcon(Icon_Utils::it_Public_Attribute), \
i18n("Attribute..."));
insert(mt_Operation, menu, \
Icon_Utils::SmallIcon(Icon_Utils::it_Public_Method), \
i18n("Operation..."));
diff --git a/umbrello/umlwidgets/umlwidget.cpp b/umbrello/umlwidgets/umlwidget.cpp
index 732db13bc..e29796b3e 100644
--- a/umbrello/umlwidgets/umlwidget.cpp
+++ b/umbrello/umlwidgets/umlwidget.cpp
@@ -23,8 +23,11 @@
#include "associationwidget.h"
#include "floatingtextwidget.h"
#include "notewidget.h"
+#include "object_factory.h"
#include "idchangelog.h"
#include "listpopupmenu.h"
+#include "port.h"
+#include "portwidget.h"
#include "settingsdialog.h"
#include "uml.h"
#include "umldoc.h"
@@ -847,6 +850,18 @@ void UMLWidget::slotMenuSelection(QAction *trigger)
break;
}
+ case ListPopupMenu::mt_Port: {
+ // TODO: merge with ToolbarStateOneWidget::setWidget()
+ UMLPackage* component = umlObject()->asUMLPackage();
+ QString name = Model_Utils::uniqObjectName(UMLObject::ot_Port, component);
+ if (Dialog_Utils::askName(i18n("Enter Port Name"), i18n("Enter the port"), \
name)) { + UMLPort *port = \
Object_Factory::createUMLObject(UMLObject::ot_Port, name, component)->asUMLPort(); + \
UMLWidget *umlWidget = Widget_Factory::createWidget(umlScene(), port); + \
umlScene()->setupNewWidget(umlWidget); + }
+ break;
+ }
+
case ListPopupMenu::mt_UseCase: {
UMLUseCase *useCase = new UMLUseCase;
UMLWidget *widget = new UseCaseWidget(umlScene(), useCase);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic