コード例 #1
0
/*
 *  Constructs a ObjectBrowser which is a child of 'parent', with the
 *  name 'name' and widget flags set to 'f'.
 */
ObjectBrowserWidget::ObjectBrowserWidget(QWidget* parent, const char* name, Qt::WFlags fl, int state)
    : QWidget(parent, name, fl),
    objectItemList(NULL),
    refreshList(NULL),
    ObjectBrowserLayout(NULL),
    clearButton(NULL),
    toggleViewButton(NULL),
    commitButton(NULL),
    ObjectListView(NULL),
    Line1(NULL),
    spacer(NULL),
    ObjectItemText(NULL),
    mOutputObjectVector(NULL),
    currentPage(LISTVIEWPAGE)
{
  if (!name)
    setName("ObjectBrowser");

  if (state == 0)
    ObjectBrowserLayout = new Q3GridLayout(this, 1, 1, 0, -1, "ObjectBrowserLayout");
  else
    ObjectBrowserLayout = new Q3GridLayout(this, 2, 4, 0, 6, "ObjectBrowserLayout");

  ObjectBrowserLayout->setAutoAdd(false);
  ObjectListView = new Q3ListView(this, "ObjectListView");
  //  ObjectListView->addColumn(trUtf8("Object Browser"));
  ObjectListView->addColumn(trUtf8("Name"));
  ObjectListView->addColumn(trUtf8("Type"));
  ObjectListView->header()->setClickEnabled(false, ObjectListView->header()->count() - 1);
  ObjectListView->setAcceptDrops(false);
  ObjectListView->setResizeMode(Q3ListView::LastColumn);
  ObjectListView->setTreeStepSize(19);
  //  ObjectListView->setSorting(-1);
  ObjectListView->setSelectionMode(Q3ListView::NoSelection);

  ObjectItemText = new Q3TextEdit(this, "ObjectItemText");
  ObjectItemText ->hide();

  ObjectBrowserLayout->addMultiCellWidget(ObjectListView, 0, 0, 0, 3);
  ObjectBrowserLayout->addMultiCellWidget(ObjectItemText, 0, 0, 0, 3);

  if (state != 0)
    {
      Line1 = new Q3Frame(this, "Line1");
      Line1->setFrameShape(Q3Frame::HLine);
      Line1->setFrameShadow(Q3Frame::Sunken);
      Line1->setFrameShape(Q3Frame::HLine);

      ObjectBrowserLayout->addMultiCellWidget(Line1, 1, 1, 0, 3);

      clearButton = new QPushButton(this, "clearButton");
      clearButton->setText(trUtf8("Clear"));
      ObjectBrowserLayout->addWidget(clearButton, 2, 0);

      commitButton = new QPushButton(this, "commitButton");
      commitButton->setText(trUtf8("Commit"));
      ObjectBrowserLayout->addWidget(commitButton, 2, 3);

      toggleViewButton = new QPushButton(this, "toggleViewButton");
      toggleViewButton->setText(trUtf8("Selected Items"));
      ObjectBrowserLayout->addWidget(toggleViewButton, 2, 2);

      spacer = new QSpacerItem(131, 31, QSizePolicy::Expanding, QSizePolicy::Minimum);
      ObjectBrowserLayout->addItem(spacer, 2, 1);

      // signals and slots connections
      connect(clearButton, SIGNAL(clicked()), this, SLOT(clearClicked()));
      connect(toggleViewButton, SIGNAL(clicked()), this, SLOT(toggleViewClicked()));
      connect(commitButton, SIGNAL(clicked()), this, SLOT(commitClicked()));

      // tab order
      setTabOrder(ObjectListView, clearButton);
      setTabOrder(clearButton, toggleViewButton);
      setTabOrder(toggleViewButton, commitButton);
    }

  connect(ObjectListView, SIGNAL(clicked(Q3ListViewItem*)), this, SLOT(listviewChecked(Q3ListViewItem*)));

  pObjectAll = new QPixmap((const char**)ptrObjectAll);
  pObjectNone = new QPixmap((const char**)ptrObjectNone);
  pObjectParts = new QPixmap((const char**)ptrObjectParts);

  objectItemList = new ObjectList();
  refreshList = new ObjectList();
  ObjectBrowserItem::resetKeySpace();
  loadData();
  currentPage = LISTVIEWPAGE;
}
コード例 #2
0
/*
 *  Constructs a ObjectBrowserDialog which is a child of 'parent', with the
 *  name 'name' and widget flags set to 'f'.
 */
ObjectBrowserDialog::ObjectBrowserDialog(QWidget* parent, const char* name, bool modal, int state)
    : QDialog(parent),
    clearButton(NULL),
    toggleViewButton(NULL),
    cancelButton(NULL),
    okButton(NULL),
    Line1(NULL),
    spacer(NULL),
    objectBrowserWidget(NULL),
    ObjectBrowserDialogLayout(NULL)
{
  setObjectName(QString::fromUtf8(name));
  setModal(modal);
  setAttribute(Qt::WA_DeleteOnClose);
  ObjectBrowserDialogLayout = new QGridLayout(this);
  ObjectBrowserDialogLayout->setMargin(11);
  ObjectBrowserDialogLayout->setSpacing(6);
  ObjectBrowserDialogLayout->setObjectName(QString::fromUtf8("ObjectBrowserDialogLayout"));

  objectBrowserWidget = new ObjectBrowserWidget(this);
  ObjectBrowserDialogLayout->addWidget(objectBrowserWidget, 0, 0, 1, 2);

  Line1 = new QFrame(this);
  Line1->setObjectName("Line1");
  Line1->setFrameShape(QFrame::HLine);
  Line1->setFrameShadow(QFrame::Sunken);
  Line1->setFrameShape(QFrame::HLine);
  ObjectBrowserDialogLayout->addWidget(Line1, 1, 0, 1, 2);

  if (state == 0)
    {
      clearButton = new QPushButton(this);
      clearButton->setObjectName("clearButton");
      clearButton->setText("Clear");

      toggleViewButton = new QPushButton(this);
      toggleViewButton->setObjectName("toggleViewButton");
      toggleViewButton->setText("Selected Items");

      cancelButton = new QPushButton(this);
      cancelButton->setObjectName("cancelButton");
      cancelButton->setText("Cancel");

      okButton = new QPushButton(this);
      okButton->setObjectName("okButton");
      okButton->setText("OK");
      okButton->setDefault(true);
      okButton->setAutoDefault(true);

      connect(clearButton, SIGNAL(clicked()), objectBrowserWidget, SLOT(clearClicked()));
      connect(toggleViewButton, SIGNAL(clicked()), this, SLOT(toggleViewClicked()));
      connect(cancelButton, SIGNAL(clicked()), this, SLOT(cancelClicked()));
      connect(okButton, SIGNAL(clicked()), this, SLOT(okClicked()));

      ObjectBrowserDialogLayout->addWidget(clearButton, 2, 0);
      ObjectBrowserDialogLayout->addWidget(toggleViewButton, 2, 1);
      ObjectBrowserDialogLayout->addWidget(cancelButton, 2, 2);
      ObjectBrowserDialogLayout->addWidget(okButton, 2, 3);

      setTabOrder(okButton, clearButton);
      setTabOrder(clearButton, toggleViewButton);
      setTabOrder(toggleViewButton, cancelButton);
      setTabOrder(cancelButton, objectBrowserWidget);
    }
  else
    {
      okButton = new QPushButton(this);
      okButton->setObjectName("okButton");
      okButton->setText("Close");
      okButton->setDefault(true);
      okButton->setAutoDefault(true);
      ObjectBrowserDialogLayout->addWidget(okButton, 2, 1, 1, 1);

      connect(okButton, SIGNAL(clicked()), this, SLOT(okClicked()));

      setTabOrder(okButton, objectBrowserWidget);
    }

  if (!name)
    setObjectName("ObjectBrowser");

  resize(420, 460);
  setWindowTitle(trUtf8("Object Browser"));
}