From kde-commits Mon Mar 31 23:59:24 2003 From: Luis De la Parra Blum Date: Mon, 31 Mar 2003 23:59:24 +0000 To: kde-commits Subject: kdesdk/umbrello/umbrello X-MARC-Message: https://marc.info/?l=kde-commits&m=104915520811490 CVS commit by luis: Aha!, found where the context menu is handled... I think this code was written for QT 1/2, where the QPopupMenu's selection had to be handled in a huge case instead of having the menu call the slot directly... that's why I couldn't find it. Now you can call the RefactoringAssistant from the class widget's context menu. ->note: There is a memory leak now (the assistant doesnt get deleted). will be fixed later. M +1 -0 listpopupmenu.cpp 1.19 M +2 -0 listpopupmenu.h 1.14 M +12 -0 umlwidget.cpp 1.26 --- kdesdk/umbrello/umbrello/listpopupmenu.h #1.13:1.14 @@ -142,4 +142,6 @@ public: mt_Expand_All, //Expand all items in the list mt_Collapse_All, //Collapse all items in the list + + mt_Refactoring, mt_Undefined = - 1 --- kdesdk/umbrello/umbrello/listpopupmenu.cpp #1.18:1.19 @@ -229,4 +229,5 @@ ListPopupMenu::ListPopupMenu(QWidget * p insertItem( SmallIcon( "charset"), i18n("Rename..."), mt_Rename); insertItem( SmallIcon( "fonts"), i18n( "Change Font..." ), mt_Change_Font ); + insertItem( SmallIcon( "unknown"), i18n("Refactor"),mt_Refactoring); insertItem(SmallIcon( "info"), i18n("Properties"), mt_Properties); break; --- kdesdk/umbrello/umbrello/umlwidget.cpp #1.25:1.26 @@ -17,4 +17,5 @@ #include "umlobject.h" +#include "class.h" #include "umlwidget.h" #include "uml.h" @@ -32,4 +33,7 @@ #include "clipboard/idchangelog.h" +#include "refactoring/refactoringassistant.h" +using Umbrello::RefactoringAssistant; + UMLWidget::UMLWidget( UMLView * view, UMLObject * o, UMLWidgetData * pData ) : QObject( view), QCanvasRectangle( view -> canvas() ), @@ -374,4 +378,12 @@ void UMLWidget::slotMenuSelection(int se m_pView -> getDocument() -> editPaste(); break; + case ListPopupMenu::mt_Refactoring: + //check if we are operating on a classifier, or some other kind of UMLObject + if(dynamic_cast(m_pObject)) + { + RefactoringAssistant *r = new RefactoringAssistant(m_pView -> getDocument(), + dynamic_cast(m_pObject)); + r->show( ); + } } }