    001    // This file is part of the Attempto Java Packages.
    002    // Copyright 2008, Attempto Group, University of Zurich (see http://attempto.ifi.uzh.ch).
    003    //
    004    // The Attempto Java Packages is free software: you can redistribute it and/or modify it under the
    005    // terms of the GNU Lesser General Public License as published by the Free Software Foundation,
    006    // either version 3 of the License, or (at your option) any later version.
    007    //
    008    // The Attempto Java Packages is distributed in the hope that it will be useful, but WITHOUT ANY
    009    // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
    010    // PURPOSE. See the GNU Lesser General Public License for more details.
    011    //
    012    // You should have received a copy of the GNU Lesser General Public License along with the Attempto
    013    // Java Packages. If not, see http://www.gnu.org/licenses/.
    014
    015    package ch.uzh.ifi.attempto.acewiki.gui.page;
    016
    017    import nextapp.echo2.app.event.ActionEvent;
    018    import ch.uzh.ifi.attempto.acewiki.Wiki;
    019    import ch.uzh.ifi.attempto.acewiki.core.ontology.Individual;
    020    import ch.uzh.ifi.attempto.acewiki.core.ontology.OntologyElement;
    021    import ch.uzh.ifi.attempto.acewiki.core.ontology.Sentence;
    022    import ch.uzh.ifi.attempto.acewiki.gui.editor.SentenceEditorHandler;
    023
    024    /**
    025     * This class stands for an article page showing the article of an individual. Individuals
    026     * are represented by proper names.
    027     *
    028     * @author Tobias Kuhn
    029     */
    030    public class IndividualPage extends ArticlePage {
    031
    032            private static final long serialVersionUID = 8411734605383577958L;
    033
    034            private Individual ind;
    035
    036            /**
    037             * Creates a new article page for an individual.
    038             *
    039             * @param ind The individual.
    040             * @param wiki The wiki instance.
    041             */
    042            public IndividualPage(Individual ind, Wiki wiki) {
    043                    super(wiki, ind);
    044                    this.ind = ind;
    045
    046                    addTab("Assignments", this);
    047
    048                    update();
    049            }
    050
    051            public OntologyElement getOntologyElement() {
    052                    return ind;
    053            }
    054
    055            public void actionPerformed(ActionEvent e) {
    056                    super.actionPerformed(e);
    057                    if ("Assignments".equals(e.getActionCommand())) {
    058                            getWiki().showPage(new AssignmentsPage(this));
    059                    }
    060            }
    061
    062            protected void doUpdate() {
    063                    super.doUpdate();
    064
    065                    getTitle().setText(ind.getHeadword());
    066            }
    067
    068            public void edit(Sentence sentence) {
    069                    if (ind.getSentences().contains(sentence)) {
    070                            getWiki().showWindow(SentenceEditorHandler.generatePreditorEditWindow(sentence, this));
    071                    }
    072            }
    073
    074    }