The updated version of the toolWindow sample plugin.
authorAlexey <Alexey.Chursin@jetbrains.com>
Fri, 27 Aug 2010 15:56:35 +0000 (19:56 +0400)
committerAlexey <Alexey.Chursin@jetbrains.com>
Fri, 27 Aug 2010 16:01:58 +0000 (20:01 +0400)
samples/toolWindow/src/META-INF/plugin.xml
samples/toolWindow/src/com/intellij/openapi/toolWindow/MyToolWindow.form [new file with mode: 0644]
samples/toolWindow/src/com/intellij/openapi/toolWindow/MyToolWindowFactory.java
samples/toolWindow/src/com/intellij/openapi/toolWindow/ToolDialog.form [deleted file]
samples/toolWindow/src/com/intellij/openapi/toolWindow/ToolDialog.java [deleted file]

index f03aff8fb4cefd47471cac606c3696cd04a8cce7..a2bee104d0d3bf539db0d85168c836373866d596 100644 (file)
@@ -21,7 +21,7 @@
 
   <extensions defaultExtensionNs="com.intellij">
     <!-- Add your extensions here -->                       
-     <toolWindow id="Sample Calendar"   icon="/com/intellij/openapi/toolWindow/plus.png" anchor="right" factoryClass="com.intellij.openapi.toolWindow.MyToolWindowFactory"   >
+     <toolWindow id="Sample Calendar"   secondary="true" icon="/com/intellij/openapi/toolWindow/plus.png" anchor="right" factoryClass="com.intellij.openapi.toolWindow.MyToolWindowFactory"   >
          
      </toolWindow>
   </extensions>
diff --git a/samples/toolWindow/src/com/intellij/openapi/toolWindow/MyToolWindow.form b/samples/toolWindow/src/com/intellij/openapi/toolWindow/MyToolWindow.form
new file mode 100644 (file)
index 0000000..9f96ba9
--- /dev/null
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="com.intellij.openapi.toolWindow.MyToolWindowFactory">
+  <grid id="27dc6" binding="myToolWindowContent" layout-manager="GridLayoutManager" row-count="2" column-count="5" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
+    <margin top="0" left="0" bottom="0" right="0"/>
+    <constraints>
+      <xy x="20" y="20" width="500" height="400"/>
+    </constraints>
+    <properties/>
+    <border type="none"/>
+    <children>
+      <component id="9aa3f" class="javax.swing.JLabel" binding="currentDate">
+        <constraints>
+          <grid row="0" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
+        </constraints>
+        <properties>
+          <text value="Date"/>
+        </properties>
+      </component>
+      <component id="44be3" class="javax.swing.JLabel" binding="timeZone">
+        <constraints>
+          <grid row="0" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
+        </constraints>
+        <properties>
+          <text value="TimeZone"/>
+        </properties>
+      </component>
+      <component id="f02af" class="javax.swing.JLabel" binding="currentTime">
+        <constraints>
+          <grid row="0" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
+        </constraints>
+        <properties>
+          <text value="Time"/>
+        </properties>
+      </component>
+      <component id="5fceb" class="javax.swing.JButton" binding="refreshToolWindowButton">
+        <constraints>
+          <grid row="1" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
+        </constraints>
+        <properties>
+          <text value="Refresh"/>
+        </properties>
+      </component>
+      <component id="3edc1" class="javax.swing.JButton" binding="hideToolWindowButton">
+        <constraints>
+          <grid row="1" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
+        </constraints>
+        <properties>
+          <text value="Hide"/>
+        </properties>
+      </component>
+      <hspacer id="8bf9c">
+        <constraints>
+          <grid row="1" column="0" row-span="1" col-span="1" vsize-policy="1" hsize-policy="6" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
+        </constraints>
+      </hspacer>
+      <hspacer id="26841">
+        <constraints>
+          <grid row="1" column="4" row-span="1" col-span="1" vsize-policy="1" hsize-policy="6" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
+        </constraints>
+      </hspacer>
+    </children>
+  </grid>
+</form>
index 2ed394c574e328b264e2a19e2ff9c9a8e0939154..ad015ecc281854e98480ea475c046e093e2804b4 100644 (file)
@@ -7,6 +7,9 @@ import com.intellij.ui.content.Content;
 import com.intellij.ui.content.ContentFactory;
 
 import javax.swing.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Calendar;
 
 /**
  * Created by IntelliJ IDEA.
@@ -16,16 +19,61 @@ import javax.swing.*;
  */
 public class MyToolWindowFactory implements ToolWindowFactory {
 
-    // Creates the tool window content.
+    private JButton refreshToolWindowButton;
+    private JButton hideToolWindowButton;
+    private JLabel currentDate;
+    private JLabel currentTime;
+    private JLabel timeZone;
+    private JPanel myToolWindowContent;
+    private ToolWindow myToolWindow;
+
+
+    public MyToolWindowFactory() {
+        hideToolWindowButton.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+             myToolWindow.hide(null);
+            }
+        });
+        refreshToolWindowButton.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+               MyToolWindowFactory.this.currentDateTime();
+            }
+        });
+    }
+
+    // Create the tool window content.
     public void createToolWindowContent(Project project, ToolWindow toolWindow) {
-        ToolDialog myDialog = new ToolDialog();
-        myDialog.toolWin = toolWindow;
-        myDialog.currentDateTime();
-        JPanel myContentPanel = myDialog.getPanel();
+        myToolWindow = toolWindow;
+        this.currentDateTime();
         ContentFactory contentFactory = ContentFactory.SERVICE.getInstance();
-        Content content = contentFactory.createContent(myContentPanel, "", false);
+        Content content = contentFactory.createContent(myToolWindowContent, "", false);
         toolWindow.getContentManager().addContent(content);
 
     }
 
+    public void currentDateTime() {
+        // Get current date and time
+        Calendar instance = Calendar.getInstance();
+        currentDate.setText(String.valueOf(instance.get(Calendar.DAY_OF_MONTH)) + "/"
+                + String.valueOf(instance.get(Calendar.MONTH) + 1) + "/" + String.valueOf(instance.get(Calendar.YEAR)));
+        currentDate.setIcon(new ImageIcon(getClass().getResource("/com/intellij/openapi/toolWindow/Calendar-icon.png")));
+        int min = instance.get(Calendar.MINUTE);
+        String strMin;
+        if (min < 10) {
+            strMin = "0" + String.valueOf(min);
+        } else {
+            strMin = String.valueOf(min);
+        }
+        currentTime.setText(instance.get(Calendar.HOUR_OF_DAY) + ":" + strMin);
+        currentTime.setIcon(new ImageIcon(getClass().getResource("/com/intellij/openapi/toolWindow/Time-icon.png")));
+        // Get time zone
+        long gmt_Offset = instance.get(Calendar.ZONE_OFFSET); // offset from GMT in milliseconds
+        String str_gmt_Offset = String.valueOf(gmt_Offset / 3600000);
+        str_gmt_Offset = (gmt_Offset > 0) ? "GMT + " + str_gmt_Offset : "GMT - " + str_gmt_Offset;
+        timeZone.setText(str_gmt_Offset);
+        timeZone.setIcon(new ImageIcon(getClass().getResource("/com/intellij/openapi/toolWindow/Time-zone-icon.png")));
+
+
+    }
+
 }
diff --git a/samples/toolWindow/src/com/intellij/openapi/toolWindow/ToolDialog.form b/samples/toolWindow/src/com/intellij/openapi/toolWindow/ToolDialog.form
deleted file mode 100644 (file)
index a338eb2..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="com.intellij.openapi.toolWindow.ToolDialog">
-  <grid id="cbd77" binding="contentPane" layout-manager="GridLayoutManager" row-count="2" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
-    <margin top="10" left="10" bottom="10" right="10"/>
-    <constraints>
-      <xy x="48" y="54" width="436" height="297"/>
-    </constraints>
-    <properties/>
-    <border type="none"/>
-    <children>
-      <grid id="94766" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
-        <margin top="0" left="0" bottom="0" right="0"/>
-        <constraints>
-          <grid row="1" column="0" row-span="1" col-span="1" vsize-policy="1" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
-        </constraints>
-        <properties/>
-        <border type="none"/>
-        <children>
-          <grid id="9538f" layout-manager="GridLayoutManager" row-count="1" column-count="2" same-size-horizontally="true" same-size-vertically="false" hgap="-1" vgap="-1">
-            <margin top="0" left="0" bottom="0" right="0"/>
-            <constraints>
-              <grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
-            </constraints>
-            <properties/>
-            <border type="none"/>
-            <children>
-              <component id="e7465" class="javax.swing.JButton" binding="buttonRefresh">
-                <constraints>
-                  <grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
-                </constraints>
-                <properties>
-                  <text value="Refresh"/>
-                </properties>
-              </component>
-              <component id="5723f" class="javax.swing.JButton" binding="buttonHide">
-                <constraints>
-                  <grid row="0" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
-                </constraints>
-                <properties>
-                  <text value="Hide"/>
-                </properties>
-              </component>
-            </children>
-          </grid>
-        </children>
-      </grid>
-      <grid id="e3588" layout-manager="GridLayoutManager" row-count="1" column-count="3" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
-        <margin top="0" left="0" bottom="0" right="0"/>
-        <constraints>
-          <grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
-        </constraints>
-        <properties/>
-        <border type="none"/>
-        <children>
-          <component id="d6483" class="javax.swing.JLabel" binding="currentTime">
-            <constraints>
-              <grid row="0" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
-            </constraints>
-            <properties>
-              <text value="Time:"/>
-            </properties>
-          </component>
-          <component id="e7494" class="javax.swing.JLabel" binding="cirrentDate">
-            <constraints>
-              <grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
-            </constraints>
-            <properties>
-              <text value="Date: "/>
-            </properties>
-          </component>
-          <component id="575f3" class="javax.swing.JLabel" binding="timeZone">
-            <constraints>
-              <grid row="0" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
-            </constraints>
-            <properties>
-              <text value="Time zone"/>
-            </properties>
-          </component>
-        </children>
-      </grid>
-    </children>
-  </grid>
-</form>
diff --git a/samples/toolWindow/src/com/intellij/openapi/toolWindow/ToolDialog.java b/samples/toolWindow/src/com/intellij/openapi/toolWindow/ToolDialog.java
deleted file mode 100644 (file)
index e7a9bcb..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-package com.intellij.openapi.toolWindow;
-
-import com.intellij.openapi.wm.ToolWindow;
-
-import javax.swing.*;
-import java.awt.event.*;
-import java.util.Calendar;
-
-public class ToolDialog extends JDialog {
-    private JPanel contentPane;
-    private JButton buttonRefresh;
-    private JButton buttonHide;
-
-    private JLabel cirrentDate;
-    private JLabel currentTime;
-    private JLabel timeZone;
-    public ToolWindow toolWin;
-
-
-    public ToolDialog() {
-        setContentPane(contentPane);
-        setModal(true);
-        getRootPane().setDefaultButton(buttonRefresh);
-
-
-        buttonRefresh.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent e) {
-                onOK();
-            }
-        });
-
-        buttonHide.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent e) {
-                onCancel();
-            }
-        });
-
-// call onCancel() when cross is clicked
-        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
-        addWindowListener(new WindowAdapter() {
-            public void windowClosing(WindowEvent e) {
-                onCancel();
-            }
-        });
-
-// call onCancel() on ESCAPE
-        contentPane.registerKeyboardAction(new ActionListener() {
-            public void actionPerformed(ActionEvent e) {
-                onCancel();
-            }
-        }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
-    }
-
-    private void onOK() {
-// Refresh tool window.
-        this.currentDateTime();
-        dispose();
-    }
-
-    private void onCancel() {
-// Hide tool window.
-        toolWin.hide(null);
-        dispose();
-    }
-
-    public JPanel getPanel() {
-        return contentPane;
-    }
-
-    public void currentDateTime() {
-        // Get current date and time
-        Calendar instance = Calendar.getInstance();
-        cirrentDate.setText(String.valueOf(instance.get(Calendar.DAY_OF_MONTH)) + "/"
-                + String.valueOf(instance.get(Calendar.MONTH) + 1) + "/" + String.valueOf(instance.get(Calendar.YEAR)));
-        cirrentDate.setIcon(new ImageIcon(getClass().getResource("/com/intellij/openapi/toolWindow/Calendar-icon.png")));
-        int min = instance.get(Calendar.MINUTE);
-        String strMin;
-        if (min < 10) {
-            strMin = "0" + String.valueOf(min);
-        } else {
-            strMin = String.valueOf(min);
-        }
-        currentTime.setText(instance.get(Calendar.HOUR_OF_DAY) + ":" + strMin);
-        currentTime.setIcon(new ImageIcon(getClass().getResource("/com/intellij/openapi/toolWindow/Time-icon.png")));
-        // Get time zone
-        long gmt_Offset = instance.get(Calendar.ZONE_OFFSET); // offset from GMT in milliseconds
-        String str_gmt_Offset = String.valueOf(gmt_Offset / 3600000);
-        str_gmt_Offset = (gmt_Offset > 0) ? "GMT + " + str_gmt_Offset : "GMT - " + str_gmt_Offset;
-        timeZone.setText(str_gmt_Offset);
-        timeZone.setIcon(new ImageIcon(getClass().getResource("/com/intellij/openapi/toolWindow/Time-zone-icon.png")));
-
-
-    }
-}