예제 #1
0
  private void createImagesGroupBox() {
    imagesGroupBox = new QGroupBox(tr("Images"));

    imagesTable = new QTableWidget();
    imagesTable.setSelectionMode(QAbstractItemView.SelectionMode.NoSelection);
    imagesTable.setItemDelegate(new ImageDelegate(this));

    List<String> labels = new LinkedList<String>();
    labels.add(tr("Image"));
    labels.add(tr("Mode"));
    labels.add(tr("State"));

    imagesTable.horizontalHeader().setDefaultSectionSize(90);
    imagesTable.setColumnCount(3);
    imagesTable.setHorizontalHeaderLabels(labels);
    imagesTable.horizontalHeader().setResizeMode(0, QHeaderView.ResizeMode.Stretch);
    imagesTable.horizontalHeader().setResizeMode(1, QHeaderView.ResizeMode.Fixed);
    imagesTable.horizontalHeader().setResizeMode(2, QHeaderView.ResizeMode.Fixed);
    imagesTable.verticalHeader().hide();

    imagesTable.itemChanged.connect(this, "changeIcon()");

    QVBoxLayout layout = new QVBoxLayout();
    layout.addWidget(imagesTable);
    imagesGroupBox.setLayout(layout);
  }
예제 #2
0
  void setData(String mimetype, QByteArray newData) {
    mimeType = mimetype;
    data = new QByteArray(newData);

    dragDropLabel.setText(String.valueOf(data.size()) + " bytes.");

    List<String> formats = new Vector<String>();
    formats.add(mimetype);
    mimeTypes.emit(formats);
  }
예제 #3
0
  private void addImages() {
    List<String> fileNames =
        QFileDialog.getOpenFileNames(
            this,
            tr("Open Images"),
            "",
            new QFileDialog.Filter(tr("Images (*.png *.xpm *.jpg);;" + "All Files (*)")));
    if (!fileNames.isEmpty()) {
      for (String fileName : fileNames) {
        int row = imagesTable.rowCount();
        imagesTable.setRowCount(row + 1);

        String imageName = new QFileInfo(fileName).baseName();
        QTableWidgetItem item0 = new QTableWidgetItem(imageName);
        item0.setData(Qt.ItemDataRole.UserRole, fileName);
        Qt.ItemFlags flags = item0.flags();
        flags.clear(Qt.ItemFlag.ItemIsEditable);
        item0.setFlags(flags);

        QTableWidgetItem item1 = new QTableWidgetItem(tr("Normal"));
        QTableWidgetItem item2 = new QTableWidgetItem(tr("Off"));

        if (guessModeStateAct.isChecked()) {
          if (fileName.contains("_act")) {
            item1.setText(tr("Active"));
          } else if (fileName.contains("_dis")) {
            item1.setText(tr("Disabled"));
          } else if (fileName.contains("_sel")) {
            item1.setText(tr("Selected"));
          }

          if (fileName.contains("_on")) item2.setText(tr("On"));
        }

        imagesTable.setItem(row, 0, item0);
        imagesTable.setItem(row, 1, item1);
        imagesTable.setItem(row, 2, item2);
        imagesTable.openPersistentEditor(item1);
        imagesTable.openPersistentEditor(item2);

        item0.setCheckState(Qt.CheckState.Checked);
      }
    }
  }
예제 #4
0
  private void createActions() {
    openAct = new QAction(tr("&Open..."), this);
    openAct.setShortcut(tr("Ctrl+O"));
    openAct.triggered.connect(this, "open()");

    saveAsActs = new LinkedList<QAction>();
    for (QByteArray format : QImageWriter.supportedImageFormats()) {
      String text = new String(format.toByteArray()).toUpperCase() + "...";

      QAction action = new QAction(text, this);
      action.setData(format);
      action.triggered.connect(this, "save()");
      saveAsActs.add(action);
    }

    printAct = new QAction(tr("&Print..."), this);
    printAct.triggered.connect(scribbleArea, "print()");

    exitAct = new QAction(tr("E&xit"), this);
    exitAct.setShortcut(tr("Ctrl+Q"));
    exitAct.triggered.connect(this, "close()");

    penColorAct = new QAction(tr("&Pen Color..."), this);
    penColorAct.triggered.connect(this, "penColor()");

    penWidthAct = new QAction(tr("Pen &Width..."), this);
    penWidthAct.triggered.connect(this, "penWidth()");

    clearScreenAct = new QAction(tr("&Clear Screen"), this);
    clearScreenAct.setShortcut(tr("Ctrl+L"));
    clearScreenAct.triggered.connect(scribbleArea, "clearImage()");

    aboutAct = new QAction(tr("&About"), this);
    aboutAct.triggered.connect(this, "about()");

    aboutQtAct = new QAction(tr("About &Qt"), this);
    aboutQtAct.triggered.connect(QApplication.instance(), "aboutQt()");
  }