Package org.trzcinka.intellitrac.view.toolwindow.tickets

Source Code of org.trzcinka.intellitrac.view.toolwindow.tickets.TicketsTabForm

/*
* Copyright 2008 Michal Trzcinka
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*  http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.trzcinka.intellitrac.view.toolwindow.tickets;

import org.trzcinka.intellitrac.model.tickets.State;
import org.trzcinka.intellitrac.model.tickets.TicketsStateChangeListener;
import org.trzcinka.intellitrac.view.toolwindow.tickets.report_editor.ReportEditorForm;
import org.trzcinka.intellitrac.view.toolwindow.tickets.reports_list.ReportsListForm;
import org.trzcinka.intellitrac.view.toolwindow.tickets.ticket_editor.TicketCreatorForm;
import org.trzcinka.intellitrac.view.toolwindow.tickets.ticket_editor.TicketEditorForm;
import org.trzcinka.intellitrac.view.toolwindow.tickets.tickets_list.TicketsListForm;

import javax.swing.*;
import java.awt.*;

public class TicketsTabForm extends BaseTicketsForm implements TicketsStateChangeListener {

  private CardLayout cardLayout;
  private JPanel rootComponent;
  private JLabel headerLabel;
  private JPanel contentPanel;

  private ReportsListForm reportsListForm;
  private ReportEditorForm reportEditorForm;
  private TicketsListForm ticketsListForm;
  private TicketEditorForm ticketEditorForm;
  private TicketCreatorForm ticketCreatorForm;

  public TicketsTabForm() {
    ticketsModel.addStateListener(this);
  }

  public JComponent getRootComponent() {
    return rootComponent;
  }

  private void createUIComponents() {
    cardLayout = new CardLayout();
    contentPanel = new JPanel(cardLayout);

    reportsListForm = new ReportsListForm();
    reportEditorForm = new ReportEditorForm();
    ticketsListForm = new TicketsListForm();
    ticketEditorForm = new TicketEditorForm();
    ticketCreatorForm = new TicketCreatorForm();

    contentPanel.add(State.REPORTS_LIST.toString(), reportsListForm.getRootComponent());
    contentPanel.add(State.REPORT_EDITOR.toString(), reportEditorForm.getRootComponent());
    contentPanel.add(State.TICKETS_LIST.toString(), ticketsListForm.getRootComponent());
    contentPanel.add(State.TICKET_EDITOR.toString(), ticketEditorForm.getRootComponent());
    contentPanel.add(State.TICKET_CREATOR.toString(), ticketCreatorForm.getRootComponent());
  }

  public void stateChanged(State state) {
    cardLayout.show(contentPanel, state.toString());
    String headerKey = "tool_window.tickets.header." + state.toString().toLowerCase();
    headerLabel.setText(bundle.getString(headerKey));
  }

  public void appendTextToComment(String text) {
    if (ticketsModel.getCurrentState().equals(State.TICKET_CREATOR)) {
      ticketCreatorForm.appendTextToComment(text);
    } else if (ticketsModel.getCurrentState().equals(State.TICKET_EDITOR)) {
      ticketEditorForm.appendTextToComment(text);
    }
  }

  public void appendTextToDescription(String text) {
    if (ticketsModel.getCurrentState().equals(State.TICKET_CREATOR)) {
      ticketCreatorForm.appendTextToDescription(text);
    } else if (ticketsModel.getCurrentState().equals(State.TICKET_EDITOR)) {
      ticketEditorForm.appendTextToDescription(text);
    }
  }
}
TOP

Related Classes of org.trzcinka.intellitrac.view.toolwindow.tickets.TicketsTabForm

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.