1 29 38 39 package org.planetamessenger.mos.forms; 40 41 import org.planetamessenger.mos.ui.*; 42 import org.planetamessenger.mos.engine.*; 43 import org.planetamessenger.plugin.*; 44 import javax.swing.*; 45 46 47 public class JMOSSendMessageDlg extends javax.swing.JFrame { 48 49 final int DEFAULT_WIDTH = 430; 50 final int DEFAULT_HEIGHT = 300; 51 JMessagePane messageTabs = null; 52 JButton sendButton = null; 53 JButton closeButton = null; 54 JButton closeTabButton = null; 55 56 57 58 62 public JMOSSendMessageDlg() { 63 64 super(); 65 initComponents(); 66 } 67 68 72 private void initComponents() { 73 74 java.awt.GridBagConstraints constraints = new java.awt.GridBagConstraints (); 75 Box btnsPanel = Box.createHorizontalBox(); 76 77 78 messageTabs = new JMessagePane( this ); 79 sendButton = new JButton(); 80 closeButton = new JButton(); 81 closeTabButton = new JButton(); 82 83 getContentPane().setLayout( new java.awt.GridBagLayout () ); 84 setName( "SendMessageDialog" ); 85 setResizable( true ); 86 87 addWindowListener( new java.awt.event.WindowAdapter () { 88 public void windowClosing( java.awt.event.WindowEvent evt ) { 89 closeDialog( evt ); 90 } 91 } ); 92 93 constraints.gridx = 0; 94 constraints.gridy = 0; 95 constraints.gridwidth = 1; 97 constraints.gridheight = 1; 98 constraints.weightx = 1.0; 99 constraints.weighty = 1.0; 100 constraints.fill = java.awt.GridBagConstraints.BOTH; 101 constraints.insets = new java.awt.Insets ( 1, 8, 1, 1 ); 102 103 messageTabs.setPreferredSize( new java.awt.Dimension ( 350, 150 ) ); 104 messageTabs.setFont( JSystemFonts.FONT ); 105 getContentPane().add( messageTabs, constraints ); 106 107 constraints.gridx = 1; 109 constraints.anchor = java.awt.GridBagConstraints.NORTHEAST; 110 constraints.fill = java.awt.GridBagConstraints.NONE; 111 constraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 112 constraints.gridheight = java.awt.GridBagConstraints.RELATIVE; 113 constraints.insets = new java.awt.Insets ( 1, 1, 1, 1 ); 114 constraints.weightx = 0.0; 115 constraints.weighty = 0.0; 116 117 closeTabButton.setFont( JSystemFonts.FONT ); 118 closeTabButton.setIcon( JSharedObjects.getResources().getIcon( JResources.CLOSE_TAB_ICON ) ); 119 closeTabButton.setEnabled( true ); 120 closeTabButton.setPreferredSize( new java.awt.Dimension ( JResources.BUTTON_WIDTH_16, JResources.BUTTON_HEIGHT_16 ) ); 121 closeTabButton.setMinimumSize( new java.awt.Dimension ( JResources.BUTTON_WIDTH_16, JResources.BUTTON_HEIGHT_16 ) ); 122 getContentPane().add( closeTabButton, constraints ); 123 124 sendButton.setFont( JSystemFonts.FONT ); 126 sendButton.setIcon( JSharedObjects.getResources().getIcon( JResources.SEND_IM_ICON ) ); 127 sendButton.setEnabled( false ); 128 sendButton.setPreferredSize( new java.awt.Dimension ( JResources.DEFAULT_BUTTON_WIDTH, JResources.DEFAULT_BUTTON_HEIGHT ) ); 129 130 closeButton.setFont( JSystemFonts.FONT ); 132 closeButton.setIcon( JSharedObjects.getResources().getIcon( JResources.CLOSE_BUTTON_ICON ) ); 133 closeButton.setPreferredSize( new java.awt.Dimension ( JResources.DEFAULT_BUTTON_WIDTH, JResources.DEFAULT_BUTTON_HEIGHT ) ); 134 135 btnsPanel.add( javax.swing.Box.createHorizontalGlue() ); 136 btnsPanel.add( closeButton ); 137 btnsPanel.add( sendButton ); 138 139 constraints.gridy++; 140 constraints.gridx = 0; 141 constraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 142 constraints.gridheight = java.awt.GridBagConstraints.RELATIVE; 143 constraints.weighty = 0.01; 144 145 getContentPane().add( btnsPanel, constraints ); 146 147 sendButton.addActionListener( new java.awt.event.ActionListener () { 149 public void actionPerformed( java.awt.event.ActionEvent evt ) { 150 sendButtonActionPerformed( evt ); 151 } 152 } ); 153 154 closeButton.addActionListener( new java.awt.event.ActionListener () { 155 public void actionPerformed( java.awt.event.ActionEvent evt ) { 156 closeButtonActionPerformed( evt ); 157 } 158 } ); 159 160 closeTabButton.addActionListener( new java.awt.event.ActionListener () { 161 public void actionPerformed( java.awt.event.ActionEvent evt ) { 162 closeTabButtonActionPerformed( evt ); 163 } 164 } ); 165 166 updateLanguage(); 167 168 java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); 170 setSize( new java.awt.Dimension ( DEFAULT_WIDTH, DEFAULT_HEIGHT ) ); 171 setLocation( ( screenSize.width - getSize().width ) / 2, ( screenSize.height - getSize().height ) / 2 ); 172 setIconImage( JSharedObjects.getResources().getIcon( JResources.APPLICATION_ICON ).getImage() ); 173 } 174 175 180 private void sendButtonActionPerformed( java.awt.event.ActionEvent evt ) { 181 182 JTabContent tabContent = messageTabs.getActiveItem(); 183 184 System.err.println( "JSendMessageDlg.sendButtonActionPerformed(" + tabContent.ownerItem.getUserId() + ") - triggered" ); 185 186 if( JSharedObjects.getPluginEngine().onSendMessage( tabContent.ownerItem, tabContent.messageEdit.getText() ) ) 187 tabContent.addHistoryText(); 188 } 189 190 195 private void closeButtonActionPerformed( java.awt.event.ActionEvent evt ) { 196 197 closeDialog( null ); 198 } 199 200 206 private void closeTabButtonActionPerformed( java.awt.event.ActionEvent evt ) { 207 208 messageTabs.removeSelectedTab(); 209 } 210 211 216 private void closeDialog( java.awt.event.WindowEvent evt ) { 217 218 dispose(); 219 messageTabs.removeAll(); 220 } 221 222 225 void updateLanguage() { 226 227 sendButton.setText( JSharedObjects.getLanguageManager().getStringEx( "SEND" ) ); 228 closeButton.setText( JSharedObjects.getLanguageManager().getStringEx( "CLOSE" ) ); 229 closeTabButton.setToolTipText( JSharedObjects.getLanguageManager().getStringEx( "CLOSE_TAB" ) ); 230 } 231 232 236 public void newTab( JContactListItem ownerItem ) { 237 238 if( !isItemActive( ownerItem ) ) 239 messageTabs.addTab( ownerItem ); 240 } 241 242 248 public void setMessage( JContactListItem item, java.lang.String strMsg ) { 249 250 messageTabs.setText( item, strMsg ); 251 } 252 253 257 public boolean contains( JContactListItem item ) { 258 259 return ( messageTabs.contains( item ) && isVisible() ); 260 } 261 262 266 public boolean isItemActive( JContactListItem item ) { 267 268 return ( messageTabs.isItemActive( item ) && isVisible() ); 269 } 270 271 274 public javax.swing.JButton getSendButton() { 275 276 return sendButton; 277 } 278 279 282 public JMessagePane getTabbedMessagePane() { 283 284 return messageTabs; 285 } 286 } 287 288 | Popular Tags |