ParameterDialog::ParameterDialog(ParameterData * pa) : TabDialog(0, 0, true, Qt::WA_DeleteOnClose), param(pa) { pa->browser_node->edit_start(); if (pa->browser_node->is_writable()) { setOkButton(tr("OK")); setCancelButton(tr("Cancel")); } else { setOkButton(QString()); setCancelButton(tr("Close")); } visit = !hasOkButton(); setWindowTitle(tr("Parameter dialog")); GridBox * grid; HHBox * htab; QString s; // general tab grid = new GridBox(2, this); umltab = grid; grid->setMargin(5); grid->setSpacing(5); grid->addWidget(new QLabel(tr("name :"), grid)); grid->addWidget(edname = new LineEdit(pa->name(), grid)); edname->setReadOnly(visit); QFont font = edname->font(); if (! hasCodec()) font.setFamily("Courier"); font.setFixedPitch(TRUE); grid->addWidget(new QLabel(tr("stereotype : "), grid)); grid->addWidget(edstereotype = new QComboBox(grid)); edstereotype->setEditable(!visit); edstereotype->addItem(toUnicode(pa->stereotype)); if (! visit) { edstereotype->addItems(BrowserParameter::default_stereotypes()); edstereotype->addItems(ProfiledStereotypes::defaults(UmlParameter)); edstereotype->setAutoCompletion(completion()); } edstereotype->setCurrentIndex(0); QSizePolicy sp = edstereotype->sizePolicy(); sp.setHorizontalPolicy(QSizePolicy::Expanding); edstereotype->setSizePolicy(sp); SmallPushButton* sButton; connect(sButton = new SmallPushButton(tr("type :"), grid), SIGNAL(clicked()), this, SLOT(menu_type())); grid->addWidget(sButton); grid->addWidget(edtype = new QComboBox( grid)); edtype->setEditable(!visit); edtype->addItem(pa->get_type().get_full_type()); if (!visit) { BrowserClass::instances(nodes); nodes.full_names(list); edtype->addItems(GenerationSettings::basic_types()); offset = edtype->count(); edtype->addItems(list); edtype->setAutoCompletion(completion()); view = pa->browser_node->container(UmlClass); } edtype->setCurrentIndex(0); edtype->setSizePolicy(sp); grid->addWidget(new QLabel(tr("direction :"), grid)); grid->addWidget(htab = new HHBox(grid)); htab->addWidget(eddir = new QComboBox(htab)); UmlParamDirection dir = pa->get_dir(); eddir->addItem(stringify(dir)); if (! visit) { if (dir != UmlInOut) eddir->addItem(stringify(UmlInOut)); if (dir != UmlIn) eddir->addItem(stringify(UmlIn)); if (dir != UmlOut) eddir->addItem(stringify(UmlOut)); if (dir != UmlReturn) eddir->addItem(stringify(UmlReturn)); } htab->addWidget(new QLabel(tr(" multiplicity : "), htab)); htab->addWidget( edmultiplicity = new QComboBox(htab)); edmultiplicity->setEditable(!visit); edmultiplicity->setSizePolicy(sp); edmultiplicity->addItem(pa->get_multiplicity()); if (!visit) { edmultiplicity->addItem("1"); edmultiplicity->addItem("0..1"); edmultiplicity->addItem("*"); edmultiplicity->addItem("1..*"); } htab->addWidget(new QLabel(tr(" ordering : "), htab)); htab->addWidget(edordering = new QComboBox(htab)); UmlOrderingKind o = pa->get_ordering(); edordering->addItem(stringify(o)); if (!visit) { if (o != UmlUnordered) edordering->addItem(stringify(UmlUnordered)); if (o != UmlOrdered) edordering->addItem(stringify(UmlOrdered)); if (o != UmlLifo) edordering->addItem(stringify(UmlLifo)); if (o != UmlFifo) edordering->addItem(stringify(UmlFifo)); } htab->addWidget(new QLabel(tr(" effect : "), htab)); htab->addWidget(edeffect = new QComboBox(htab)); UmlParamEffect e = pa->get_effect(); edeffect->addItem(stringify(e)); if (!visit) { if (e != UmlNoEffect) edeffect->addItem(stringify(UmlNoEffect)); if (e != UmlCreate) edeffect->addItem(stringify(UmlCreate)); if (e != UmlRead) edeffect->addItem(stringify(UmlRead)); if (e != UmlUpdate) edeffect->addItem(stringify(UmlUpdate)); if (e != UmlDelete) edeffect->addItem(stringify(UmlDelete)); } grid->addWidget(new QLabel(tr("in state : "), grid)); grid->addWidget(edin_state = new LineEdit(pa->in_state, grid)); edin_state->setReadOnly(visit); grid->addWidget(new QLabel(tr("default value :"), grid)); grid->addWidget(htab = new HHBox(grid)); htab->addWidget(edinit = new LineEdit(pa->get_default_value(), htab)); if (visit) { edinit->setReadOnly(TRUE); } else { connect(sButton = new SmallPushButton(tr("Editor"), htab), SIGNAL(clicked()), this, SLOT(edit_init())); htab->addWidget(sButton); } grid->addWidget(new QLabel(grid)); grid->addWidget(htab = new HHBox(grid)); BButtonGroup * bg ; htab->addWidget( bg = new BButtonGroup(2, Qt::Horizontal, QString(), htab)); bg->addWidget(is_control_cb = new QCheckBox(tr("is_control"), bg)); if (pa->is_control) is_control_cb->setChecked(TRUE); is_control_cb->setDisabled(visit); bg->addWidget(unique_cb = new QCheckBox(tr("unique"), bg)); if (pa->unique) unique_cb->setChecked(TRUE); unique_cb->setDisabled(visit); htab->addWidget(bg = new BButtonGroup(3, Qt::Horizontal, QString(), htab)); bg->setExclusive(TRUE); bg->addWidget(standard_rb = new QRadioButton(tr("standard"), bg)); bg->addWidget(exception_rb = new QRadioButton(tr("exception"), bg)); bg->addWidget(stream_rb = new QRadioButton(tr("stream"), bg)); if (pa->exception) exception_rb->setChecked(TRUE); else if (pa->stream) stream_rb->setChecked(TRUE); else standard_rb->setChecked(TRUE); VVBox * vtab; grid->addWidget(vtab = new VVBox(grid)); vtab->addWidget(new QLabel(tr("description :"), vtab)); if (! visit) { connect(sButton = new SmallPushButton(tr("Editor"), vtab), SIGNAL(clicked()), this, SLOT(edit_description())); vtab->addWidget(sButton); } grid->addWidget(comment = new MultiLineEdit(grid)); comment->setReadOnly(visit); comment->setText(pa->browser_node->get_comment()); comment->setFont(font); addTab(grid, "Uml"); init_tab(ocltab, eduml_selection, pa->uml_selection, "Ocl", SLOT(edit_uml_selection()), TRUE); // C++ init_tab(cppTab, edcpp_selection, pa->cpp_selection, "C++", SLOT(edit_cpp_selection()), GenerationSettings::cpp_get_default_defs()); // Java init_tab(javatab, edjava_selection, pa->java_selection, "Java", SLOT(edit_java_selection()), GenerationSettings::java_get_default_defs()); // USER : list key - value grid = new GridBox(2, this); grid->setMargin(5); grid->setSpacing(5); grid->addWidget(kvtable = new KeyValuesTable(pa->browser_node, grid, visit)); addTab(grid, tr("Properties")); // connect(this, SIGNAL(currentChanged(QWidget *)), this, SLOT(change_tabs(QWidget *))); open_dialog(this); }
PinDialog::PinDialog(PinData * pi) : Q3TabDialog(0, 0, FALSE, Qt::WDestructiveClose), pin(pi) { pi->browser_node->edit_start(); if (pi->browser_node->is_writable()) { setOkButton(TR("OK")); setCancelButton(TR("Cancel")); } else { setOkButton(QString::null); setCancelButton(TR("Close")); } visit = !hasOkButton(); setCaption(TR("Pin dialog")); Q3Grid * grid; Q3HBox * htab; QString s; // general tab grid = new Q3Grid(2, this); umltab = grid; grid->setMargin(5); grid->setSpacing(5); new QLabel(TR("name :"), grid); edname = new LineEdit(pi->name(), grid); edname->setReadOnly(visit); QFont font = edname->font(); if (! hasCodec()) font.setFamily("Courier"); font.setFixedPitch(TRUE); new QLabel(TR("stereotype : "), grid); edstereotype = new Q3ComboBox(!visit, grid); edstereotype->insertItem(toUnicode(pi->stereotype)); if (! visit) { edstereotype->insertStringList(BrowserPin::default_stereotypes()); edstereotype->insertStringList(ProfiledStereotypes::defaults(UmlActivityPin)); edstereotype->setAutoCompletion(completion()); } edstereotype->setCurrentItem(0); QSizePolicy sp = edstereotype->sizePolicy(); sp.setHorData(QSizePolicy::Expanding); edstereotype->setSizePolicy(sp); connect(new SmallPushButton(TR("type :"), grid), SIGNAL(clicked()), this, SLOT(menu_type())); edtype = new Q3ComboBox(!visit, grid); edtype->insertItem(pi->get_type().get_full_type()); if (!visit) { BrowserClass::instances(nodes); nodes.full_names(list); edtype->insertStringList(GenerationSettings::basic_types()); offset = edtype->count(); edtype->insertStringList(list); edtype->setAutoCompletion(completion()); view = pi->browser_node->container(UmlClass); } edtype->setCurrentItem(0); edtype->setSizePolicy(sp); new QLabel(TR("direction :"), grid); htab = new Q3HBox(grid); eddir = new Q3ComboBox(FALSE, htab); UmlParamDirection dir = pi->get_dir(); eddir->insertItem(stringify(dir)); if (! visit) { // note : inout not allowed if (dir != UmlIn) eddir->insertItem(stringify(UmlIn)); if (dir != UmlOut) eddir->insertItem(stringify(UmlOut)); if (dir != UmlReturn) eddir->insertItem(stringify(UmlReturn)); } new QLabel(TR(" multiplicity : "), htab); edmultiplicity = new Q3ComboBox(!visit, htab); edmultiplicity->setSizePolicy(sp); edmultiplicity->insertItem(pi->get_multiplicity()); if (!visit) { edmultiplicity->insertItem("1"); edmultiplicity->insertItem("0..1"); edmultiplicity->insertItem("*"); edmultiplicity->insertItem("1..*"); } new QLabel(TR(" ordering : "), htab); edordering = new Q3ComboBox(FALSE, htab); UmlOrderingKind o = pi->get_ordering(); edordering->insertItem(stringify(o)); if (!visit) { if (o != UmlUnordered) edordering->insertItem(stringify(UmlUnordered)); if (o != UmlOrdered) edordering->insertItem(stringify(UmlOrdered)); if (o != UmlLifo) edordering->insertItem(stringify(UmlLifo)); if (o != UmlFifo) edordering->insertItem(stringify(UmlFifo)); } new QLabel(TR(" effect : "), htab); edeffect = new Q3ComboBox(FALSE, htab); UmlParamEffect e = pi->get_effect(); edeffect->insertItem(stringify(e)); if (!visit) { if (e != UmlNoEffect) edeffect->insertItem(stringify(UmlNoEffect)); if (e != UmlCreate) edeffect->insertItem(stringify(UmlCreate)); if (e != UmlRead) edeffect->insertItem(stringify(UmlRead)); if (e != UmlUpdate) edeffect->insertItem(stringify(UmlUpdate)); if (e != UmlDelete) edeffect->insertItem(stringify(UmlDelete)); } new QLabel(TR("in state : "), grid); edin_state = new LineEdit(pi->in_state, grid); edin_state->setReadOnly(visit); new QLabel(grid); htab = new Q3HBox(grid); Q3ButtonGroup * bg = new Q3ButtonGroup(2, Qt::Horizontal, QString::null, htab); is_control_cb = new QCheckBox(TR("is_control"), bg); if (pi->is_control) is_control_cb->setChecked(TRUE); is_control_cb->setDisabled(visit); unique_cb = new QCheckBox(TR("unique"), bg); if (pi->unique) unique_cb->setChecked(TRUE); unique_cb->setDisabled(visit); bg = new Q3ButtonGroup(3, Qt::Horizontal, QString::null, htab); bg->setExclusive(TRUE); standard_rb = new QRadioButton(TR("standard"), bg); exception_rb = new QRadioButton(TR("exception"), bg); stream_rb = new QRadioButton(TR("stream"), bg); if (pi->exception) exception_rb->setChecked(TRUE); else if (pi->stream) stream_rb->setChecked(TRUE); else standard_rb->setChecked(TRUE); Q3VBox * vtab = new Q3VBox(grid); new QLabel(TR("description :"), vtab); if (! visit) { connect(new SmallPushButton(TR("Editor"), vtab), SIGNAL(clicked()), this, SLOT(edit_description())); } comment = new MultiLineEdit(grid); comment->setReadOnly(visit); comment->setText(pi->browser_node->get_comment()); comment->setFont(font); addTab(grid, "Uml"); init_tab(ocltab, eduml_selection, pin->uml_selection, "Ocl", SLOT(edit_uml_selection()), TRUE); // C++ init_tab(cpptab, edcpp_selection, pin->cpp_selection, "C++", SLOT(edit_cpp_selection()), GenerationSettings::cpp_get_default_defs()); // Java init_tab(javatab, edjava_selection, pin->java_selection, "Java", SLOT(edit_java_selection()), GenerationSettings::java_get_default_defs()); // USER : list key - value grid = new Q3Grid(2, this); grid->setMargin(5); grid->setSpacing(5); kvtable = new KeyValuesTable(pi->browser_node, grid, visit); addTab(grid, TR("Properties")); // connect(this, SIGNAL(currentChanged(QWidget *)), this, SLOT(change_tabs(QWidget *))); open_dialog(this); }
AttributeDialog::AttributeDialog(AttributeData * a, bool new_st_attr) : Q3TabDialog(0, 0, FALSE, Qt::WDestructiveClose), new_in_st(new_st_attr), att(a) { a->browser_node->edit_start(); if (a->browser_node->is_writable()) { setOkButton(TR("OK")); setCancelButton(TR("Cancel")); } else { setOkButton(QString::null); setCancelButton(TR("Close")); } visit = !hasOkButton(); ClassData * cld = (ClassData *) ((BrowserNode *) a->browser_node->parent())->get_data(); QString stereotype = cld->get_stereotype(); QString lang_st; in_enum = (stereotype == "enum"); lang_st = GenerationSettings::cpp_class_stereotype(stereotype); cpp_in_enum = in_enum || (lang_st == "enum"); cpp_ignored = !cpp_in_enum && ((lang_st == "typedef") || (lang_st == "ignored")); lang_st = GenerationSettings::java_class_stereotype(stereotype); java_in_enum = in_enum || (lang_st == "enum"); java_in_enum_pattern = !java_in_enum && (lang_st == "enum_pattern"); java_ignored = (lang_st == "ignored"); lang_st = GenerationSettings::php_class_stereotype(stereotype); php_in_enum = in_enum || (lang_st == "enum"); php_ignored = !php_in_enum && (lang_st == "ignored"); lang_st = GenerationSettings::python_class_stereotype(stereotype); python_in_enum = in_enum || (lang_st == "enum"); python_ignored = !python_in_enum && (lang_st == "ignored"); lang_st = GenerationSettings::idl_class_stereotype(stereotype); idl_in_enum = in_enum || (lang_st == "enum"); idl_in_typedef = !idl_in_enum && (lang_st == "typedef"); idl_in_struct = !idl_in_enum && ((lang_st == "struct") || (lang_st == "exception")); idl_in_union = !idl_in_enum && (lang_st == "union"); setCaption((in_enum || java_in_enum_pattern) ? TR("Enum item dialog") : TR("Attribute dialog")); Q3Grid * grid; Q3HBox * htab; QString s; // general tab grid = new Q3Grid(2, this); umltab = grid; grid->setMargin(5); grid->setSpacing(5); new QLabel(TR("class : "), grid); new QLabel(((BrowserNode *) a->get_browser_node()->parent())->full_name(TRUE), grid); new QLabel(TR("name :"), grid); edname = new LineEdit(a->name(), grid); edname->setReadOnly(visit); QFont font = edname->font(); if (! hasCodec()) font.setFamily("Courier"); font.setFixedPitch(TRUE); if (!java_in_enum_pattern) { new QLabel(TR("stereotype :"), grid); htab = new Q3HBox(grid); edstereotype = new Q3ComboBox(!visit, htab); edstereotype->insertItem(toUnicode(a->get_stereotype())); if (!visit) { edstereotype->insertStringList(BrowserAttribute::default_stereotypes()); edstereotype->insertStringList(ProfiledStereotypes::defaults(UmlAttribute)); if (java_in_enum) { int n = edstereotype->count(); for (attribute_st_rank = 0; attribute_st_rank != n; attribute_st_rank += 1) if (edstereotype->text(attribute_st_rank) == "attribute") break; if (attribute_st_rank == n) { edstereotype->insertItem("attribute"); n += 1; } for (empty_st_rank = 0; empty_st_rank != n; empty_st_rank += 1) if (edstereotype->text(empty_st_rank).isEmpty()) break; if (empty_st_rank == n) edstereotype->insertItem(""); } edstereotype->setAutoCompletion(completion()); } edstereotype->setCurrentItem(0); QSizePolicy sp = edstereotype->sizePolicy(); sp.setHorData(QSizePolicy::Expanding); edstereotype->setSizePolicy(sp); new QLabel(TR(" multiplicity : "), htab); multiplicity = new Q3ComboBox(!visit, htab); multiplicity->setSizePolicy(sp); previous_multiplicity = a->get_multiplicity(); multiplicity->insertItem(previous_multiplicity); if (!visit) { multiplicity->insertItem("1"); multiplicity->insertItem("0..1"); multiplicity->insertItem("*"); multiplicity->insertItem("1..*"); } connect(new SmallPushButton(TR("type :"), grid), SIGNAL(clicked()), this, SLOT(menu_type())); edtype = new Q3ComboBox(!visit, grid); edtype->insertItem(a->get_type().get_full_type()); BrowserClass::instances(nodes); nodes.full_names(list); if (!visit) { QStringList l = GenerationSettings::basic_types(); cld->addFormals(l); edtype->insertStringList(l); offset = edtype->count(); edtype->insertStringList(list); edtype->setAutoCompletion(completion()); view = a->browser_node->container(UmlClass); } edtype->setCurrentItem(0); edtype->setSizePolicy(sp); new QLabel(TR("initial value :"), grid); } else { multiplicity = 0; new QLabel(TR("value :"), grid); } htab = new Q3HBox(grid); edinit = new LineEdit(a->get_init_value(), htab); if (visit) edinit->setReadOnly(TRUE); else connect(new SmallPushButton(TR("Editor"), htab), SIGNAL(clicked()), this, SLOT(edit_init())); Q3ButtonGroup * bg; if (!java_in_enum_pattern) { new QLabel(grid); htab = new Q3HBox(grid); bg = uml_visibility.init(htab, a->get_uml_visibility(), TRUE); if (visit) bg->setEnabled(FALSE); bg = new Q3ButtonGroup(7, Qt::Horizontal, QString::null, htab); bg->setExclusive(FALSE); classattribute_cb = new QCheckBox("static", bg); if (a->get_isa_class_attribute()) classattribute_cb->setChecked(TRUE); classattribute_cb->setDisabled(visit); volatile_cb = new QCheckBox("volatile", bg); if (a->isa_volatile_attribute) volatile_cb->setChecked(TRUE); volatile_cb->setDisabled(visit); constattribute_cb = new QCheckBox(TR("read-only"), bg); if (a->get_isa_const_attribute()) constattribute_cb->setChecked(TRUE); constattribute_cb->setDisabled(visit); derived_cb = new QCheckBox(TR("derived"), bg); if (a->get_is_derived()) derived_cb->setChecked(TRUE); derived_cb->setDisabled(visit); connect(derived_cb, SIGNAL(toggled(bool)), SLOT(derived_changed(bool))); derivedunion_cb = new QCheckBox("union", bg); if (a->get_is_derivedunion()) derivedunion_cb->setChecked(TRUE); derivedunion_cb->setDisabled(visit || !derived_cb->isChecked()); ordered_cb = new QCheckBox(TR("ordered"), bg); if (a->get_is_ordered()) ordered_cb->setChecked(TRUE); ordered_cb->setDisabled(visit); unique_cb = new QCheckBox("unique", bg); if (a->get_is_unique()) unique_cb->setChecked(TRUE); unique_cb->setDisabled(visit); } Q3VBox * vtab = new Q3VBox(grid); new QLabel(TR("description :"), vtab); if (! visit) { connect(new SmallPushButton(TR("Editor"), vtab), SIGNAL(clicked()), this, SLOT(edit_description())); connect(new SmallPushButton(TR("Default"), vtab), SIGNAL(clicked()), this, SLOT(default_description())); } comment = new MultiLineEdit(grid); comment->setReadOnly(visit); comment->setText(a->browser_node->get_comment()); comment->setFont(font); vtab = new Q3VBox(grid); new QLabel(TR("constraint :"), vtab); if (! visit) { connect(new SmallPushButton(TR("Editor"), vtab), SIGNAL(clicked()), this, SLOT(edit_constraint())); } constraint = new MultiLineEdit(grid); constraint->setReadOnly(visit); constraint->setText(a->constraint); constraint->setFont(font); addTab(grid, "Uml"); // C++ if (! cpp_ignored) { grid = new Q3Grid(2, this); cpptab = grid; grid->setMargin(5); grid->setSpacing(5); if (!cpp_in_enum) { new QLabel(TR("Visibility :"), grid); htab = new Q3HBox(grid); Q3ButtonGroup * bg = cpp_visibility.init(htab, a->get_cpp_visibility(), FALSE, 0, TR("follow uml")); if (visit) bg->setEnabled(FALSE); new QLabel(" ", htab); mutable_cb = new QCheckBox("mutable", htab); if (a->cpp_mutable) mutable_cb->setChecked(TRUE); if (visit) mutable_cb->setDisabled(TRUE); else connect(mutable_cb, SIGNAL(toggled(bool)), this, SLOT(cpp_update())); }
ActivityObjectDialog::ActivityObjectDialog(ActivityObjectData * d, const char * what, QStringList & st) : Q3TabDialog(0, 0, FALSE, Qt::WDestructiveClose), data(d) { d->browser_node->edit_start(); if (d->browser_node->is_writable()) { setOkButton(TR("OK")); setCancelButton(TR("Cancel")); } else { setOkButton(QString()); setCancelButton(TR("Close")); } visit = !hasOkButton(); setCaption(TR(QString(what) + " dialog")); Q3Grid * grid; Q3HBox * htab; QString s; // general tab grid = new Q3Grid(2, this); umltab = grid; grid->setMargin(5); grid->setSpacing(5); new QLabel(TR("name :"), grid); edname = new LineEdit(data->name(), grid); edname->setReadOnly(visit); QFont font = edname->font(); if (! hasCodec()) font.setFamily("Courier"); font.setFixedPitch(TRUE); new QLabel(TR("stereotype : "), grid); edstereotype = new Q3ComboBox(!visit, grid); edstereotype->insertItem(toUnicode(data->stereotype)); if (! visit) { edstereotype->insertStringList(st); edstereotype->insertStringList(ProfiledStereotypes::defaults(UmlActivityObject)); edstereotype->setAutoCompletion(completion()); } edstereotype->setCurrentItem(0); QSizePolicy sp = edstereotype->sizePolicy(); sp.setHorData(QSizePolicy::Expanding); edstereotype->setSizePolicy(sp); connect(new SmallPushButton(TR("type :"), grid), SIGNAL(clicked()), this, SLOT(menu_type())); edtype = new Q3ComboBox(!visit, grid); edtype->insertItem(data->get_type().get_full_type()); if (!visit) { BrowserClass::instances(nodes); nodes.full_names(list); edtype->insertStringList(GenerationSettings::basic_types()); offset = edtype->count(); edtype->insertStringList(list); edtype->setAutoCompletion(completion()); // search for the view containing the activity view = d->browser_node; do { view = (BrowserNode *) view->parent(); } while (view->get_type() != UmlActivity); view = (BrowserNode *) view->parent(); } edtype->setCurrentItem(0); edtype->setSizePolicy(sp); new QLabel(TR("multiplicity : "), grid); htab = new Q3HBox(grid); edmultiplicity = new Q3ComboBox(!visit, htab); edmultiplicity->setSizePolicy(sp); edmultiplicity->insertItem(data->get_multiplicity()); if (!visit) { edmultiplicity->insertItem("1"); edmultiplicity->insertItem("0..1"); edmultiplicity->insertItem("*"); edmultiplicity->insertItem("1..*"); } new QLabel(TR(" ordering : "), htab); edordering = new Q3ComboBox(FALSE, htab); UmlOrderingKind o = data->get_ordering(); edordering->insertItem(stringify(o)); if (!visit) { if (o != UmlUnordered) edordering->insertItem(stringify(UmlUnordered)); if (o != UmlOrdered) edordering->insertItem(stringify(UmlOrdered)); if (o != UmlLifo) edordering->insertItem(stringify(UmlLifo)); if (o != UmlFifo) edordering->insertItem(stringify(UmlFifo)); } new QLabel(TR("in state : "), grid); htab = new Q3HBox(grid); edin_state = new LineEdit(data->in_state, htab); edin_state->setReadOnly(visit); new QLabel(" ", htab); is_control_cb = new QCheckBox(TR("is control"), htab); if (data->is_control) is_control_cb->setChecked(TRUE); is_control_cb->setDisabled(visit); Q3VBox * vtab = new Q3VBox(grid); new QLabel(TR("description :"), vtab); if (! visit) { connect(new SmallPushButton(TR("Editor"), vtab), SIGNAL(clicked()), this, SLOT(edit_description())); } comment = new MultiLineEdit(grid); comment->setReadOnly(visit); comment->setText(data->browser_node->get_comment()); comment->setFont(font); addTab(grid, "Uml"); // UML / OCL init_tab(ocltab, eduml_selection, data->uml_selection, "Ocl", SLOT(edit_uml_selection()), TRUE); // C++ init_tab(cppTab, edcpp_selection, data->cpp_selection, "C++", SLOT(edit_cpp_selection()), GenerationSettings::cpp_get_default_defs()); // Java init_tab(javatab, edjava_selection, data->java_selection, "Java", SLOT(edit_java_selection()), GenerationSettings::java_get_default_defs()); // USER : list key - value grid = new Q3Grid(2, this); grid->setMargin(5); grid->setSpacing(5); kvtable = new KeyValuesTable(data->browser_node, grid, visit); addTab(grid, TR("Properties")); // connect(this, SIGNAL(currentChanged(QWidget *)), this, SLOT(change_tabs(QWidget *))); open_dialog(this); }