You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdesdk/umbrello/umbrello/dialogs/umloperationdialog.h

137 lines
3.6 KiB

/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* copyright (C) 2002-2006 *
* Umbrello UML Modeller Authors <uml-devel@uml.sf.net> *
***************************************************************************/
#ifndef UMLOPERATIONDIALOG_H
#define UMLOPERATIONDIALOG_H
//kde includes
#include <kdialogbase.h>
/**
* @author Paul Hensgen
* Bugs and comments to uml-devel@lists.sf.net or http://bugs.trinitydesktop.org
*/
class UMLOperation;
class ListPopupMenu;
class TQGroupBox;
class TQListBox;
class TQButtonGroup;
class TQRadioButton;
class TQPushButton;
class TQLabel;
class TQCheckBox;
class KComboBox;
class TQLineEdit;
class UMLDoc;
class KArrowButton;
class UMLOperationDialog : public KDialogBase {
TQ_OBJECT
public:
/**
* Constructor
*/
UMLOperationDialog( TQWidget * parent, UMLOperation * pOperation );
/**
* Deconstructor
*/
~UMLOperationDialog();
protected:
/**
* Sets up the dialog
*/
void setupDialog();
/**
* Checks if changes are valid and applies them if they are,
* else returns false
*/
bool apply();
/**
* Inserts @p type into the type-combobox as well as its completion object.
*/
void insertType( const TQString& type, int index = -1 );
/**
* The operation to represent.
*/
UMLOperation * m_pOperation;
/**
* The UMLDocument where all objects live
*/
UMLDoc *m_doc;
/**
* Menu used in paramater list box.
*/
ListPopupMenu * m_pMenu;
/**
* Inserts @p stereotype into the stereotype-combobox as well as its completion object.
*/
void insertStereotype( const TQString& type, int index = -1 );
//GUI widgets
TQGroupBox * m_pParmsGB, * m_pGenGB;
TQListBox * m_pParmsLB;
TQButtonGroup * m_pScopeBG;
TQRadioButton * m_pPublicRB, * m_pPrivateRB, * m_pProtectedRB, *m_pImplementationRB;
TQLabel * m_pRtypeL, * m_pNameL, * m_pStereoTypeL;
KComboBox * m_pRtypeCB, * m_pStereoTypeCB;
TQLineEdit * m_pNameLE;
TQCheckBox * m_pAbstractCB;
TQCheckBox * m_pStaticCB;
TQCheckBox * m_pQueryCB;
TQPushButton* m_pDeleteButton;
TQPushButton* m_pPropertiesButton;
KArrowButton* m_pUpButton;
KArrowButton* m_pDownButton;
public slots:
void slotParmRightButtonPressed(TQListBoxItem *item, const TQPoint &p);
void slotParmRightButtonClicked(TQListBoxItem *item, const TQPoint &p);
void slotParmDoubleClick(TQListBoxItem *item);
void slotParmPopupMenuSel(int id);
void slotNewParameter();
void slotDeleteParameter();
void slotParameterProperties();
void slotParameterUp();
void slotParameterDown();
/**
* enables or disables buttons
*/
void slotParamsBoxClicked(TQListBoxItem* parameterItem);
/**
* I don't think this is used, but if we had an apply button
* it would slot into here
*/
void slotApply();
/**
* Used when the OK button is clicked. Calls apply()
*/
void slotOk();
void slotNameChanged( const TQString & );
};
#endif