Ejemplo n.º 1
0
  public ComponentHolder(ManagerInterface manager, Dimension mapDimension) {
    peer = manager;
    mapPanel = new JMapPanel(new GridLayout(1, 1, 2, 2), mapDimension, peer.getLoader());
    modifiedFilesListModel = new ModifiedListModel();
    originalFilesListModel = new OriginalFilesListModel();
    contentListModel = new ContentListModel();
    exhibitPhotosModel = new ExhibitPhotosModel();
    exhibitNameModel = new ExhibitListModel();
    groupListModel = new GroupListModel();
    groupExhibitsModel = new GroupExhibitsModel();
    exhibitAliasesModel = new ExhibitAliasesModel();
    eventsListModel = new EventsListModel();

    Calendar calendar = Calendar.getInstance();
    Date initDate = calendar.getTime();
    calendar.add(Calendar.YEAR, -100);
    Date earliestDate = calendar.getTime();
    calendar.add(Calendar.YEAR, 200);
    Date latestDate = calendar.getTime();
    SpinnerModel dateModel1 =
        new SpinnerDateModel(initDate, earliestDate, latestDate, Calendar.DATE);
    SpinnerModel dateModel2 =
        new SpinnerDateModel(initDate, earliestDate, latestDate, Calendar.DATE);
    eventStart = new JSpinner(dateModel1);
    eventEnd = new JSpinner(dateModel2);
    eventStart.setEditor(new JSpinner.DateEditor(eventStart, "MM/dd/yyyy"));
    eventEnd.setEditor(new JSpinner.DateEditor(eventEnd, "MM/dd/yyyy"));
  }
Ejemplo n.º 2
0
 void selectGroup() {
   ExhibitGroup group = peer.getLoader().getGroup(groupNameList.getSelectedValue().toString());
   groupExhibitsModel.notifyChange();
   groupExhibitsList.setSelectionInterval(0, 0);
   groupXSpinnerModel.setValue(group.xPos);
   groupYSpinnerModel.setValue(group.yPos);
 }
Ejemplo n.º 3
0
 void addGroup() {
   String newName = JOptionPane.showInputDialog("Name of new exhibit:");
   if (newName != null && newName.length() > 0) { // TODO add name expression matching
     peer.getLoader().addGroup(newName, new String[0], -1, -1);
     groupListModel.notifyChange();
     peer.makeChange();
   }
 }
Ejemplo n.º 4
0
 void removeGroup() {
   peer.makeChange();
   peer.getLoader().removeGroup(groupNameList.getSelectedValue().toString());
   groupNameList.setSelectionInterval(0, 0);
   groupExhibitsList.setSelectionInterval(0, 0);
   groupExhibitsModel.notifyChange();
   groupListModel.notifyChange();
 }
Ejemplo n.º 5
0
 void removeExhibit() {
   if (exhibitNameList.getModel().getSize() > 1) {
     peer.getLoader().removeExhibit((String) exhibitNameList.getSelectedValue());
     exhibitNameList.setSelectionInterval(0, 0);
     peer.makeChange();
     exhibitNameModel.notifyChange();
   }
 }
Ejemplo n.º 6
0
 void removeTag() {
   if (contentList.getModel().getSize() > 1) {
     for (ExhibitInfo e : peer.getLoader().getExhibits()) {
       if (e.getName().equals((String) exhibitNameList.getSelectedValue())) {
         e.setContent((String) contentList.getSelectedValue(), null);
       }
     }
   }
   contentListModel.notifyChange();
   contentList.setSelectionInterval(0, 0);
 }
Ejemplo n.º 7
0
  void addGroupExhibit() {
    ArrayList<ExhibitInfo> filesList = new ArrayList<ExhibitInfo>();
    for (ExhibitInfo e : peer.getLoader().getExhibits()) {
      filesList.add(e);
    }
    String groupName = groupNameList.getSelectedValue().toString();
    ExhibitGroup group = peer.getLoader().getGroup(groupName);

    for (String name : group.exhibits) {
      for (int i = 0; i < filesList.size(); i++) {
        if (filesList.get(i).getName().equals(name)) {
          filesList.remove(i);
        }
      }
    }
    Object[] files = filesList.toArray();

    ExhibitInfo e =
        (ExhibitInfo)
            JOptionPane.showInputDialog(
                null,
                "Exhibit:",
                "Add which exhibit to group?",
                JOptionPane.PLAIN_MESSAGE,
                null,
                files,
                files[0]);
    if (e != null) {
      String[] names = new String[group.exhibits.length + 1];
      for (int i = 0; i < names.length - 1; i++) {
        names[i] = group.exhibits[i];
      }
      names[names.length - 1] = e.getName();
      ExhibitGroup newGroup = new ExhibitGroup(names, -1, -1);
      peer.getLoader().addGroup(groupName, newGroup.exhibits, newGroup.xPos, newGroup.yPos);
      peer.makeChange();
      groupExhibitsModel.notifyChange();
    }
  }
Ejemplo n.º 8
0
 @Override
 public void stateChanged(ChangeEvent arg0) {
   ExhibitInfo e = getCurrentExhibit();
   if (arg0.getSource().equals(exhibitXCoordField.getModel())) {
     int val = Integer.parseInt(exhibitXCoordField.getModel().getValue().toString());
     e.setCoords(val, e.getY());
     if (e.origXCoord != e.getX()) {
       peer.makeChange();
     }
   } else if (arg0.getSource().equals(exhibitYCoordField.getModel())) {
     int val = Integer.parseInt(exhibitYCoordField.getModel().getValue().toString());
     e.setCoords(e.getX(), val);
     if (e.origYCoord != e.getY()) {
       peer.makeChange();
     }
   } else if (arg0.getSource().equals(aliasXCoordField.getModel())) {
     int val = Integer.parseInt(aliasXCoordField.getModel().getValue().toString());
     int index = exhibitAliasesList.getSelectedIndex();
     Alias alias = e.getAliases()[index];
     if (alias.xPos != val) {
       e.addAlias(alias.name, val, alias.yPos, alias.tag);
       peer.makeChange();
     }
   } else if (arg0.getSource().equals(aliasYCoordField.getModel())) {
     int val = Integer.parseInt(aliasYCoordField.getModel().getValue().toString());
     int index = exhibitAliasesList.getSelectedIndex();
     Alias alias = e.getAliases()[index];
     if (alias.yPos != val) {
       e.addAlias(alias.name, alias.xPos, val, alias.tag);
       peer.makeChange();
     }
   } else if (arg0.getSource().equals(groupXCoordField.getModel())) {
     int val = Integer.parseInt(groupXCoordField.getModel().getValue().toString());
     String name = groupNameList.getSelectedValue().toString();
     ExhibitGroup group = peer.getLoader().getGroup(name);
     if (val != group.xPos) {
       peer.getLoader().addGroup(name, group.exhibits, val, group.yPos);
       peer.makeChange();
     }
   } else if (arg0.getSource().equals(groupYCoordField.getModel())) {
     int val = Integer.parseInt(groupYCoordField.getModel().getValue().toString());
     String name = groupNameList.getSelectedValue().toString();
     ExhibitGroup group = peer.getLoader().getGroup(name);
     if (val != group.yPos) {
       peer.getLoader().addGroup(name, group.exhibits, group.xPos, val);
       peer.makeChange();
     }
   } else if (arg0.getSource().equals(eventStart.getModel())) {
     Event event = peer.getLoader().getEvents().get(eventsList.getSelectedIndex());
     event.setStartDay((Date) eventStart.getModel().getValue());
     peer.makeChange();
   } else if (arg0.getSource().equals(eventEnd.getModel())) {
     Event event = peer.getLoader().getEvents().get(eventsList.getSelectedIndex());
     event.setEndDay((Date) eventEnd.getModel().getValue());
     peer.makeChange();
   }
 }
Ejemplo n.º 9
0
 ExhibitInfo getCurrentExhibit() {
   String name = (String) exhibitNameList.getSelectedValue();
   int index = -1;
   ArrayList<ExhibitInfo> exhibitList = peer.getLoader().getExhibits();
   for (int i = 0; i < exhibitList.size(); i++) {
     if (exhibitList.get(i).getName().equals(name)) {
       index = i;
     }
   }
   if (index == -1) {
     return exhibitList.get(0);
   } else {
     return exhibitList.get(index);
   }
 }
Ejemplo n.º 10
0
 void addExhibit() {
   String newName = JOptionPane.showInputDialog("Name of new exhibit:");
   if (newName != null && ZipManager.exhibitNamePattern.matcher(newName).matches()) {
     String newContentName = JOptionPane.showInputDialog("Name of first new content:");
     if (newContentName != null && ZipManager.localPathPattern.matcher(newContentName).matches()) {
       ExhibitInfo newE = new ExhibitInfo(newName, 0, 0, null, null);
       newE.setContent(newContentName, peer.getOriginalFiles()[0]);
       peer.getLoader().getExhibits().add(newE);
       exhibitNameModel.notifyChange();
       contentListModel.notifyChange();
       peer.makeChange();
     } else {
       System.out.println("Invalid tag name " + newContentName);
     }
   } else {
     System.out.println("Invalid exhibit name " + newName);
   }
 }