예제 #1
0
  /**
   * Die Methode initialisiert Text Areas
   *
   * @return gui.CTex_TextArea
   */
  private TextArea getTextArea(
      boolean isRequired,
      final String typeName,
      Undomanager manager,
      final JButton addObject,
      final JButton addCondition) {

    final TextArea TextArea;
    ContainerAttribute e = null;
    Vector<ContainerAttribute> attV = new Vector<ContainerAttribute>();
    if (obj != null) {
      // wenn ein aus Objekt
      if (entryTypeKeyVar == typeName) {
        attV.add(
            new ContainerAttribute(-1, -1, obj.getKey(), false, new Vector<ContainerAttribute>()));
        TextArea = new TextArea(theDb, entryTypeKeyVar, attV, this);

      } else {
        Vector<ContainerAttribute> v = obj.getAttributes();
        Iterator<ContainerAttribute> i = v.iterator();
        // load Attribute
        attV.clear();
        while (i.hasNext()) {
          e = i.next();
          if (theDb.convTypeIdToTypeName(e.getObjectTypeId()).equals(typeName)) {
            attV.add(e);
          }
        }
        // if has Value or not
        if (attV.size() != 0) {
          TextArea =
              new TextArea(
                  theDb, theDb.convTypeIdToTypeName(attV.get(0).getObjectTypeId()), attV, this);
        } else {
          attV.add(
              new ContainerAttribute(
                  -1,
                  theDb.convTypeNameToTypeId(typeName),
                  "",
                  false,
                  new Vector<ContainerAttribute>()));
          TextArea = new TextArea(theDb, typeName, attV, this);
        }
      }
    } else {
      TextArea = new TextArea(theDb, typeName, attV, this);
    }

    // action of addObject "Objecte werden Gelb markiert und Links Weis"
    addObject.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent obj) {
            TextArea.setObject();
          }
        });

    // action of addCondition "Condition werden Grun markiert"
    addCondition.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent con) {
            TextArea.addCondition();
          }
        });

    if (!isRequired) {
      OptField.add(TextArea);
      addTextFieldOpt(OptField.get(OptField.size() - 1), manager);
      this.OptAreaId++;
    } else {
      ReqField.add(TextArea);
      addTextFieldReq(ReqField.get(ReqField.size() - 1), manager);
      this.ReqAreaId++;
    }

    // Save TextAreas for AutoGeneration Key
    if (typeName.equals("author")) {
      this.autor = TextArea;
    } else if (typeName.equals("year")) {
      this.year = TextArea;
    }

    return TextArea;
  }
예제 #2
0
  /**
   * Construktor: Initialisiert CTex_TextFieldTab mit dem uebergebnen Objekt aus dem Datenbank
   *
   * @return gui.CTex_TextFieldTab
   */
  EntryPanel(
      Db theDb, TabPanel inTab, final Undomanager manager, ContainerObject obj, Frame frame) {

    tableTab = inTab;
    isNewEntry = false;
    this.obj = obj;
    this.theDb = theDb;
    this.myTabPane = this;
    this.myFrame = frame;
    this.entryTypeString = theDb.convTypeIdToTypeName(obj.getTypeId());
    this.entryType = theDb.getType(entryTypeString);

    // Close dialog when pressing ESC
    tableTab.registerKeyboardAction(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            tableTab.showPreviewPane();
          }
        },
        KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
        JComponent.WHEN_IN_FOCUSED_WINDOW);

    // Auf Tab Mous Listner Legen.
    addMouseListener(
        new MouseAdapter() {
          public void mousePressed(MouseEvent e) {

            // Tab Nummer holen
            int tabNumber = getUI().tabForCoordinate(EntryPanel.this, e.getX(), e.getY());

            // Wenn Tab 0 dann Requiedfield sonst OptionsField
            if (tabNumber == 0) {
              // Manager auf ReqField den feld setzen
              ReqOROpt = true;
              ReqAreaId = 0;
              manager.setActivManager(
                  myReqField,
                  myOptField,
                  null,
                  myReqCompound,
                  myOptCompound,
                  null,
                  ReqOROpt,
                  false);
              // Area Tab Einstellungen
              ReqField.get(ReqAreaId).setCaretPosition(0);
              ReqField.get(ReqAreaId).requestFocus(true);
              /* set Color of new Area */
              // ReqField.get(ReqAreaId).setFocusBackground();

            } else if (tabNumber == 1) {
              ReqOROpt = false;
              OptAreaId = 1;
              // Manager auf OptField setzen
              manager.setActivManager(
                  myReqField,
                  myOptField,
                  null,
                  myReqCompound,
                  myOptCompound,
                  null,
                  ReqOROpt,
                  false);
              // Area Tab Einstellungen
              OptField.get(OptAreaId).setCaretPosition(0);
              OptField.get(OptAreaId).requestFocus(true);
              /* set Color of new Area */
              // OptField.get(OptAreaId).setFocusBackground();
            }
          }
        });
    // Manager auf selekted Tab setzen
    manager.setActivManager(
        myReqField, myOptField, null, myReqCompound, null, myOptCompound, ReqOROpt, false);

    // "Requeds Field" u. "Optional Fields" Tabs einfuegen
    this.addTab("Required fields", getReqTextField(manager));
    this.addTab("Optional fields", getOptTextField(manager));

    this.ReqAreaId = 0;
    this.OptAreaId = 0;
    this.ReqOROpt = true;
  }