/*
* Copyright 2003-2011 JetBrains s.r.o.
*
* 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 jetbrains.mps.ide.devkit.cellExplorer;
import jetbrains.mps.ide.icons.IconManager;
import jetbrains.mps.openapi.editor.cells.EditorCell;
import javax.swing.Icon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.Frame;
import java.awt.GridLayout;
/**
* Created by IntelliJ IDEA.
* User: Cyril.Konopko
* Date: 19.08.2005
* Time: 17:32:28
*/
public class CellPropertiesWindow extends JFrame {
public CellPropertiesWindow(EditorCell editorCell, Frame mainFrame) {
CellProperties cellProperties = new CellProperties(editorCell);
String cellText = cellProperties.getCellText();
String cellKind = cellProperties.getCellKind();
String hashCode = " @ "+editorCell.hashCode();
String cellWidth = cellProperties.getCellWidth();
String cellHeight = cellProperties.getCellHeight();
String cellEffectiveWidth = cellProperties.getCellEffectiveWidth();
String isRootCell = cellProperties.getRootCell();
String cellID = cellProperties.getCellID();
String cellNumber = cellProperties.getCellNumber();
String cellRole = cellProperties.getCellRole();
String cellSNode = cellProperties.getCellSNode();
Icon icon = IconManager.getIconFor(cellProperties.getSNode());
setLayout(new BorderLayout());
JPanel outerPanel = new JPanel(new GridLayout(1,1,0,10));
JPanel panel = new JPanel(new GridLayout(10, 2, 10, 20));
panel.setBorder(new EmptyBorder(10,5,5,5));
Font f = panel.getFont();
Font bold = new Font(f.getName(), Font.BOLD, f.getSize());
Font italic = new Font(f.getName(), Font.ITALIC, f.getSize());
panel.add(new JLabel("Cell:")).setFont(bold); panel.add(new JLabel(cellKind + hashCode)).setFont(bold);
panel.add(new JLabel("ID:")).setFont(bold); panel.add(new JLabel(cellID));
panel.add(new JLabel("Role:")).setFont(bold);panel.add(new JLabel(cellRole));
panel.add(new JLabel("Text:")).setFont(bold); panel.add(new JLabel(cellText)).setFont(italic);
panel.add(new JLabel("Width:")).setFont(bold); panel.add(new JLabel(cellWidth));
panel.add(new JLabel("Height:")).setFont(bold);panel.add(new JLabel(cellHeight));
panel.add(new JLabel("Effective width:")).setFont(bold);panel.add(new JLabel(cellEffectiveWidth));
panel.add(new JLabel("Number in collection:")).setFont(bold);panel.add(new JLabel(cellNumber));
panel.add(new JLabel("SNode:")).setFont(bold);panel.add(new JLabel(cellSNode, icon, SwingConstants.LEFT));
panel.add(new JLabel("Is Root Cell:")).setFont(bold);panel.add(new JLabel(isRootCell));
outerPanel.add(panel);
add(outerPanel, BorderLayout.NORTH);
pack();
setAlwaysOnTop(true);
setResizable(false);
setTitle("Cell Properties");
int x = mainFrame.getX() + mainFrame.getWidth() / 2 - getWidth() / 2;
int y = mainFrame.getY() + mainFrame.getHeight() / 2 - getHeight() / 2;
setLocation(x, y);
setVisible(true);
}
}