5 import generalSplash
.RehaSplash
;
8 import java
.awt
.Dimension
;
9 import java
.awt
.GridBagConstraints
;
10 import java
.awt
.GridBagLayout
;
11 import java
.awt
.Image
;
12 import java
.awt
.Insets
;
13 import java
.awt
.datatransfer
.DataFlavor
;
14 import java
.awt
.datatransfer
.Transferable
;
15 import java
.awt
.dnd
.DropTarget
;
16 import java
.awt
.dnd
.DropTargetDragEvent
;
17 import java
.awt
.dnd
.DropTargetDropEvent
;
18 import java
.awt
.dnd
.DropTargetEvent
;
19 import java
.awt
.dnd
.DropTargetListener
;
20 import java
.awt
.event
.ActionEvent
;
21 import java
.awt
.event
.ActionListener
;
22 import java
.awt
.event
.ComponentEvent
;
23 import java
.awt
.event
.ComponentListener
;
24 import java
.sql
.ResultSet
;
25 import java
.sql
.SQLException
;
26 import java
.sql
.Statement
;
27 import java
.text
.SimpleDateFormat
;
28 import java
.util
.ArrayList
;
29 import java
.util
.Date
;
30 import java
.util
.List
;
31 import java
.util
.TooManyListenersException
;
32 import java
.util
.Vector
;
34 import javax
.swing
.ImageIcon
;
35 import javax
.swing
.JComponent
;
36 import javax
.swing
.JOptionPane
;
37 import javax
.swing
.JScrollPane
;
38 import javax
.swing
.SwingUtilities
;
39 import javax
.swing
.UIManager
;
41 import kurzAufrufe
.KurzAufrufe
;
42 import oOorgTools
.OOTools
;
44 import org
.jdesktop
.swingworker
.SwingWorker
;
45 import org
.jdesktop
.swingx
.JXHyperlink
;
46 import org
.jdesktop
.swingx
.JXMonthView
;
47 import org
.jdesktop
.swingx
.JXPanel
;
48 import org
.jdesktop
.swingx
.JXTaskPane
;
49 import org
.jdesktop
.swingx
.JXTaskPaneContainer
;
50 import org
.jdesktop
.swingx
.border
.DropShadowBorder
;
51 import org
.jdesktop
.swingx
.plaf
.windows
.WindowsTaskPaneUI
;
52 import org
.therapi
.reha
.patient
.AktuelleRezepte
;
53 import org
.therapi
.reha
.patient
.LadeProg
;
55 import rechteTools
.Rechte
;
56 import sqlTools
.ExUndHop
;
57 import sqlTools
.SqlInfo
;
58 import systemEinstellungen
.SystemConfig
;
59 import systemTools
.TestePatStamm
;
60 import terminKalender
.TerminFenster
;
62 import ag
.ion
.bion
.officelayer
.text
.ITextDocument
;
63 import dialoge
.DatumWahl
;
64 import events
.PatStammEvent
;
65 import events
.PatStammEventClass
;
67 public class LinkeTaskPane
extends JXPanel
implements ActionListener
, ComponentListener
, DropTargetListener
{
71 private static final long serialVersionUID
= 1L;
72 //private Reha eltern;
73 private static JXTaskPaneContainer jxTPcontainer
= null;
74 public static JXTaskPane tp1
= null;
75 public static JXTaskPane tp2
= null;
76 public static JXTaskPane tp3
= null;
77 public static JXTaskPane tp4
= null;
78 public static JXTaskPane tp5
= null;
79 public static JXTaskPane tp6
= null;
80 private JXHyperlink oo1
= null;
81 private JXHyperlink oo2
= null;
82 public static boolean OOok
= true;
83 public static LinkeTaskPane thisClass
= null;
84 public static ITextDocument itestdocument
= null;
85 private ActionListener al
;
86 private String aktTag
= "x";
87 private String wahlTag
= "y";
88 SimpleDateFormat sdf
= new SimpleDateFormat("dd.MM.yyyy");
89 public LinkeTaskPane(){
93 this.setBackground(Color
.WHITE
);
94 //this.eltern = Reha.thisClass;
95 this.setPreferredSize(new Dimension(200,500));
97 GridBagConstraints gridBagConstraints
= new GridBagConstraints() ;
98 gridBagConstraints
.gridx
= 0;
99 gridBagConstraints
.anchor
= GridBagConstraints
.CENTER
;
100 gridBagConstraints
.fill
= GridBagConstraints
.BOTH
;
101 gridBagConstraints
.ipadx
= 0;
102 gridBagConstraints
.gridy
= 0;
103 gridBagConstraints
.weightx
= 1.0D
;
104 gridBagConstraints
.weighty
= 1.0D
;
105 gridBagConstraints
.insets
= new Insets(5, 2, 5, 2);
107 this.setLayout(new GridBagLayout());
111 * Zuerst die Scrollpane generieren falls der
112 * sp�tere TaskPane-Container die y-Dimension des Fensters �bersteigt.
114 JScrollPane jScrp
= new JScrollPane();
115 jScrp
.setBorder(null);
116 jScrp
.setViewportBorder(null);
117 jScrp
.setBackground(Color
.white
);
118 jScrp
.setPreferredSize(new Dimension(180, 100));
119 DropShadowBorder dropShadow
= new DropShadowBorder(Color
.BLACK
, 10, 1, 5, false, true, true, true);
120 jScrp
.setBorder(dropShadow
);
121 jScrp
.getVerticalScrollBar().setUnitIncrement(15);
123 * Jetz generieren wir den Taskpane-Container anschlie�end die TaskPanes
125 jxTPcontainer
= new JXTaskPaneContainer();
126 jxTPcontainer
.setBackground(new Color(106,130,218));
127 //jxTPcontainer.setPreferredSize(new Dimension(250,0));
129 jxTPcontainer
.add(getPatientenStamm());
131 jxTPcontainer
.add(getTerminKalender());
133 jxTPcontainer
.add(getOpenOfficeOrg());
135 jxTPcontainer
.add(getNuetzliches());
137 jxTPcontainer
.add(getSystemEinstellungen());
138 jxTPcontainer
.add(getMonatsUebersicht());
140 * dann f�gen wir den TaskpaneContainer der ScrollPane hinzu
142 jScrp
.setViewportView(jxTPcontainer
);
143 jScrp
.setVisible(true);
145 this.add(jScrp
,gridBagConstraints
);
150 * Task-Pane f�r den Patientenstamm erstellen
154 private JXTaskPane
getPatientenStamm(){
156 tp1
= new JXTaskPane();
157 UIManager
.put("TaskPane.titleBackgroundGradientStart",Color
.WHITE
);
158 UIManager
.put("TaskPane.titleBackgroundGradientEnd",new Color(200,212,247));
159 UIManager
.put("TaskPane.background",new Color(214,223,247));
160 UIManager
.put("TaskPane.foreground",Color
.BLUE
);
161 UIManager
.put("TaskPane.useGradient", Boolean
.TRUE
);
162 WindowsTaskPaneUI wui
= new WindowsTaskPaneUI();
164 tp1
.setTitle("Stammdaten");
165 //tp1.setIcon(new ImageIcon(Reha.proghome+"icons/personen16.gif"));
166 JXHyperlink jxLink
= new JXHyperlink();
167 jxLink
.setText("Patienten und Rezepte");
168 jxLink
.setToolTipText("Strg+P = Patienten-/Rezeptstamm starten");
169 img
= new ImageIcon(Reha
.proghome
+"icons/kontact_contacts.png").getImage().getScaledInstance(24, 24, Image
.SCALE_SMOOTH
);
170 jxLink
.setIcon(new ImageIcon(img
));
171 jxLink
.setClickedColor(new Color(0, 0x33, 0xFF));
172 jxLink
.addActionListener(this);
173 jxLink
.setEnabled(true);
174 DropTarget dndt
= new DropTarget();
175 DropTargetListener dropTargetListener
=
176 new DropTargetListener() {
177 public void dragEnter(DropTargetDragEvent e
) {}
178 public void dragExit(DropTargetEvent e
) {}
179 public void dragOver(DropTargetDragEvent e
) {}
180 public void drop(DropTargetDropEvent e
) {
181 String mitgebracht
= "";
183 Transferable tr
= e
.getTransferable();
184 DataFlavor
[] flavors
= tr
.getTransferDataFlavors();
185 for (int i
= 0; i
< flavors
.length
; i
++){
186 mitgebracht
= (String
) tr
.getTransferData(flavors
[i
]);
188 ////System.out.println(mitgebracht);
189 if(mitgebracht
.indexOf("°") >= 0){
190 if( ! mitgebracht
.split("°")[0].contains("TERMDAT")){
193 doPatientDrop(mitgebracht
.split("°")[2].trim());
194 //ProgLoader.ProgRoogleFenster(0, mitgebracht);
195 //Reha.thisClass.progLoader.ProgRoogleFenster(0, mitgebracht);
197 ////System.out.println(mitgebracht+" auf Patientenstamm gedropt");
198 } catch (Throwable t
) { t
.printStackTrace(); }
199 // Ein Problem ist aufgetreten
200 e
.dropComplete(true);
202 public void dropActionChanged(
203 DropTargetDragEvent e
) {}
206 dndt
.addDropTargetListener(dropTargetListener
);
207 } catch (TooManyListenersException e1
) {
208 // TODO Auto-generated catch block
209 e1
.printStackTrace();
211 jxLink
.setDropTarget(dndt
);
214 jxLink
= new JXHyperlink();
215 jxLink
.setText("Ärzte");
216 jxLink
.setActionCommand("Arztstamm");
217 jxLink
.setToolTipText("Strg+A = Arztstamm starten");
218 img
= new ImageIcon(Reha
.proghome
+"icons/system-users.png").getImage().getScaledInstance(24, 24, Image
.SCALE_SMOOTH
);
219 jxLink
.setIcon(new ImageIcon(img
));
220 jxLink
.setClickedColor(new Color(0, 0x33, 0xFF));
221 jxLink
.addActionListener(this);
222 //jxLink.setEnabled(false);
224 jxLink
= new JXHyperlink();
225 jxLink
.setText("Krankenkassen");
226 jxLink
.setToolTipText("Strg+K = Kassenstamm starten");
227 img
= new ImageIcon(Reha
.proghome
+"icons/krankenkasse.png").getImage().getScaledInstance(24, 24, Image
.SCALE_SMOOTH
);
228 jxLink
.setIcon(new ImageIcon(img
));
229 jxLink
.setClickedColor(new Color(0, 0x33, 0xFF));
230 jxLink
.addActionListener(this);
232 tp1
.setCollapsed(SystemConfig
.taskPaneCollapsed
[0]);
236 private JXTaskPane
getTerminKalender(){
238 tp4
= new JXTaskPane();
239 UIManager
.put("TaskPane.titleBackgroundGradientStart",Color
.WHITE
);
240 UIManager
.put("TaskPane.titleBackgroundGradientEnd",new Color(200,212,247));
241 UIManager
.put("TaskPane.background",new Color(214,223,247));
242 UIManager
.put("TaskPane.useGradient", Boolean
.TRUE
);
243 WindowsTaskPaneUI wui
= new WindowsTaskPaneUI();
245 tp4
.setTitle("Termin-Management");
246 tp4
.setIcon(new ImageIcon(Reha
.proghome
+"icons/table_mode.png"));
247 JXHyperlink jxLink
= new JXHyperlink();
248 jxLink
.setText("Terminkalender starten");
249 jxLink
.setToolTipText("Strg+T = Terminkalender starten");
250 img
= new ImageIcon(Reha
.proghome
+"icons/evolution-addressbook.png").getImage().getScaledInstance(24, 24, Image
.SCALE_SMOOTH
);
251 jxLink
.setIcon(new ImageIcon(img
));
252 jxLink
.setClickedColor(new Color(0, 0x33, 0xFF));
253 jxLink
.addActionListener(this);
255 jxLink
= new JXHyperlink();
256 DropTarget dndt
= new DropTarget();
257 DropTargetListener dropTargetListener
=
258 new DropTargetListener() {
259 public void dragEnter(DropTargetDragEvent e
) {}
260 public void dragExit(DropTargetEvent e
) {}
261 public void dragOver(DropTargetDragEvent e
) {}
262 public void drop(DropTargetDropEvent e
) {
263 String mitgebracht
= "";
265 Transferable tr
= e
.getTransferable();
266 DataFlavor
[] flavors
= tr
.getTransferDataFlavors();
267 for (int i
= 0; i
< flavors
.length
; i
++){
268 mitgebracht
= (String
) tr
.getTransferData(flavors
[i
]);
270 //System.out.println("Es wurde mitgebracht "+mitgebracht);
271 if(mitgebracht
.indexOf("°") >= 0){
272 if( ! mitgebracht
.split("°")[0].contains("TERMDAT")){
275 //ProgLoader.ProgRoogleFenster(0, mitgebracht);
276 Reha
.thisClass
.progLoader
.ProgRoogleFenster(0, mitgebracht
);
278 ////System.out.println(mitgebracht);
279 } catch (Throwable t
) { t
.printStackTrace(); }
280 // Ein Problem ist aufgetreten
281 e
.dropComplete(true);
283 public void dropActionChanged(
284 DropTargetDragEvent e
) {}
287 dndt
.addDropTargetListener(dropTargetListener
);
288 } catch (TooManyListenersException e1
) {
289 // TODO Auto-generated catch block
290 e1
.printStackTrace();
292 jxLink
.setDropTarget(dndt
);
293 jxLink
.setName("Rugl");
294 String srugl
= "<html><font color='#000000'>[</font><font color='#0000ff'>R</font><font color='#ff0000'>u</font>"+
295 "<font color='#00ffff'><b>:</b></font><font color='#0000ff'>g</font><font color='#00ff00'>l</font>"+
296 "<font color='#000000'>]</font> - Die Terminsuchmaschine";
297 jxLink
.setText(srugl
);
298 //jxLink.setText("[Ru:gl] - Die Terminsuchmaschine");
299 jxLink
.setToolTipText("Strg+R = [Ru:gl] starten");
300 img
= new ImageIcon(Reha
.proghome
+"icons/orca.png").getImage().getScaledInstance(24, 24, Image
.SCALE_SMOOTH
);
301 jxLink
.setIcon(new ImageIcon(img
));
302 jxLink
.setClickedColor(new Color(0, 0x33, 0xFF));
303 jxLink
.setActionCommand("[Ru:gl] - Die Terminsuchmaschine");
304 jxLink
.addActionListener(this);
306 jxLink
= new JXHyperlink();
307 jxLink
.setText("Wochenarbeitszeiten definieren");
308 img
= new ImageIcon(Reha
.proghome
+"icons/alacarte.png").getImage().getScaledInstance(24, 24, Image
.SCALE_SMOOTH
);
309 jxLink
.setIcon(new ImageIcon(img
));
310 jxLink
.setClickedColor(new Color(0, 0x33, 0xFF));
311 jxLink
.addActionListener(this);
313 jxLink
= new JXHyperlink();
314 jxLink
.setText("Akutliste - kurzfristige Termine");
315 jxLink
.setActionCommand("Akutliste");
316 img
= new ImageIcon(Reha
.proghome
+"icons/vcalendar.png").getImage().getScaledInstance(24, 24, Image
.SCALE_SMOOTH
);
317 jxLink
.setIcon(new ImageIcon(img
));
318 jxLink
.setClickedColor(new Color(0, 0x33, 0xFF));
319 jxLink
.addActionListener(this);
322 jxLink
= new JXHyperlink();
323 jxLink
.setText("Thera-\u03C0"+" Erinnerungs-System");
324 //img = new ImageIcon(Reha.proghome+"icons/wecker.gif").getImage().getScaledInstance(24, 24, Image.SCALE_SMOOTH);
325 img
= new ImageIcon(Reha
.proghome
+"icons/chronometer.png").getImage().getScaledInstance(24, 24, Image
.SCALE_SMOOTH
);
326 jxLink
.setIcon(new ImageIcon(img
));
327 jxLink
.setActionCommand("neuerwecker");
328 jxLink
.setClickedColor(new Color(0, 0x33, 0xFF));
329 jxLink
.addActionListener(this);
330 dndt
= new DropTarget();
332 new DropTargetListener() {
333 public void dragEnter(DropTargetDragEvent e
) {}
334 public void dragExit(DropTargetEvent e
) {}
335 public void dragOver(DropTargetDragEvent e
) {}
336 public void drop(DropTargetDropEvent e
) {
337 String mitgebracht
= "";
339 Transferable tr
= e
.getTransferable();
340 DataFlavor
[] flavors
= tr
.getTransferDataFlavors();
341 for (int i
= 0; i
< flavors
.length
; i
++){
342 mitgebracht
= (String
) tr
.getTransferData(flavors
[i
]);
344 ////System.out.println(mitgebracht);
345 if(mitgebracht
.indexOf("°") >= 0){
346 if( ! mitgebracht
.split("°")[0].contains("TERMDAT")){
349 //ProgLoader.ProgRoogleFenster(0, mitgebracht);
350 doWeckerDrop(mitgebracht
);
352 ////System.out.println(mitgebracht);
353 } catch (Throwable t
) { t
.printStackTrace(); }
354 // Ein Problem ist aufgetreten
355 e
.dropComplete(true);
357 public void dropActionChanged(
358 DropTargetDragEvent e
) {}
361 dndt
.addDropTargetListener(dropTargetListener
);
362 } catch (TooManyListenersException e1
) {
363 // TODO Auto-generated catch block
364 e1
.printStackTrace();
366 jxLink
.setDropTarget(dndt
);
367 jxLink
.setName("Rugl");
370 tp4
.setCollapsed(SystemConfig
.taskPaneCollapsed
[1]);
371 //tp4.setExpanded(true);
376 private JXTaskPane
getOpenOfficeOrg(){
377 tp3
= new JXTaskPane();
378 UIManager
.put("TaskPane.titleBackgroundGradientStart",Color
.WHITE
);
379 UIManager
.put("TaskPane.titleBackgroundGradientEnd",new Color(200,212,247));
380 UIManager
.put("TaskPane.background",new Color(214,223,247));
381 UIManager
.put("TaskPane.useGradient", Boolean
.TRUE
);
382 WindowsTaskPaneUI wui
= new WindowsTaskPaneUI();
384 tp3
.setTitle("OpenOffice.org");
385 tp3
.setIcon(SystemConfig
.hmSysIcons
.get("openoffice"));
386 oo1
= new JXHyperlink();
387 oo1
.setText("OpenOffice-Writer");
388 oo1
.setClickedColor(new Color(0, 0x33, 0xFF));
389 oo1
.setIcon(SystemConfig
.hmSysIcons
.get("ooowriter"));
390 oo1
.addActionListener(this);
392 oo2
= new JXHyperlink();
393 oo2
.setIcon(SystemConfig
.hmSysIcons
.get("ooocalc"));
394 oo2
.setText("OpenOffice-Calc");
395 oo2
.setClickedColor(new Color(0, 0x33, 0xFF));
396 oo2
.addActionListener(this);
398 oo2
= new JXHyperlink();
399 oo2
.setIcon(SystemConfig
.hmSysIcons
.get("oooimpress"));
400 oo2
.setText("OpenOffice-Impress");
401 oo2
.setClickedColor(new Color(0, 0x33, 0xFF));
402 oo2
.addActionListener(this);
404 tp3
.setCollapsed(SystemConfig
.taskPaneCollapsed
[2]);
408 private JXTaskPane
getNuetzliches(){
410 tp5
= new JXTaskPane();
411 UIManager
.put("TaskPane.titleBackgroundGradientStart",Color
.WHITE
);
412 UIManager
.put("TaskPane.titleBackgroundGradientEnd",new Color(200,212,247));
413 UIManager
.put("TaskPane.background",new Color(214,223,247));
414 UIManager
.put("TaskPane.useGradient", Boolean
.TRUE
);
415 WindowsTaskPaneUI wui
= new WindowsTaskPaneUI();
418 tp5
.setTitle("Nützliches...");
419 //tp3.setIcon(new ImageIcon("icons/pdf.gif"));
420 JXHyperlink jxLink
= new JXHyperlink();
421 jxLink
.setText("Thera-PI - Nachrichten");
422 jxLink
.setClickedColor(new Color(0, 0x33, 0xFF));
423 img
= new ImageIcon(Reha
.proghome
+"icons/emblem-mail.png").getImage().getScaledInstance(24, 24, Image
.SCALE_SMOOTH
);
424 jxLink
.setIcon(new ImageIcon(img
));
425 jxLink
.addActionListener(this);
427 jxLink
= new JXHyperlink();
428 jxLink
.setText("Thera-PI - Browser");
429 jxLink
.setClickedColor(new Color(0, 0x33, 0xFF));
430 img
= new ImageIcon(Reha
.proghome
+"icons/home.gif").getImage().getScaledInstance(24, 24, Image
.SCALE_SMOOTH
);
431 jxLink
.setIcon(new ImageIcon(img
));
432 jxLink
.addActionListener(this);
434 jxLink
= new JXHyperlink();
435 jxLink
.setText("piTool - ScreenShots");
436 jxLink
.setClickedColor(new Color(0, 0x33, 0xFF));
437 img
= new ImageIcon(Reha
.proghome
+"icons/camera_unmount.png").getImage().getScaledInstance(24, 24, Image
.SCALE_SMOOTH
);
438 //Reha.proghome+"icons/cameraklein.png"
439 jxLink
.setIcon(new ImageIcon(img
));
440 jxLink
.setActionCommand("piTool");
441 jxLink
.addActionListener(this);
442 //jxLink.setEnabled(false);
444 jxLink
= new JXHyperlink();
445 jxLink
.setText("piHelp - Hifetextgenerator");
446 jxLink
.setClickedColor(new Color(0, 0x33, 0xFF));
447 img
= new ImageIcon(Reha
.proghome
+"icons/fragezeichenklein.png").getImage().getScaledInstance(24, 24, Image
.SCALE_SMOOTH
);
448 jxLink
.setIcon(new ImageIcon(img
));
449 jxLink
.setActionCommand("piHelp");
450 jxLink
.addActionListener(this);
451 //jxLink.setEnabled(false);
453 jxLink
= new JXHyperlink();
454 jxLink
.setText("Textbausteine - Therapiebericht");
455 jxLink
.setClickedColor(new Color(0, 0x33, 0xFF));
456 img
= new ImageIcon(Reha
.proghome
+"icons/abiword.png").getImage().getScaledInstance(24, 24, Image
.SCALE_SMOOTH
);
457 jxLink
.setIcon(new ImageIcon(img
));
458 jxLink
.setActionCommand("piTextb");
459 jxLink
.addActionListener(this);
460 //jxLink.setEnabled(false);
463 jxLink
= new JXHyperlink();
464 jxLink
.setText("Textbausteine - Gutachten");
465 jxLink
.setClickedColor(new Color(0, 0x33, 0xFF));
466 img
= new ImageIcon(Reha
.proghome
+"icons/abiword.png").getImage().getScaledInstance(24, 24, Image
.SCALE_SMOOTH
);
467 jxLink
.setIcon(new ImageIcon(img
));
468 jxLink
.setActionCommand("piArztTextb");
469 jxLink
.addActionListener(this);
470 //jxLink.setEnabled(false);
473 tp5
.setCollapsed(SystemConfig
.taskPaneCollapsed
[3]);
478 private JXTaskPane
getSystemEinstellungen(){
480 tp2
= new JXTaskPane();
481 UIManager
.put("TaskPane.titleBackgroundGradientStart",Color
.WHITE
);
482 UIManager
.put("TaskPane.titleBackgroundGradientEnd",new Color(200,212,247));
483 UIManager
.put("TaskPane.background",new Color(214,223,247));
484 UIManager
.put("TaskPane.useGradient", Boolean
.TRUE
);
485 WindowsTaskPaneUI wui
= new WindowsTaskPaneUI();
488 tp2
.setTitle("Systemeinstellungen");
489 tp2
.setIcon(new ImageIcon(Reha
.proghome
+"icons/pdf.gif"));
490 JXHyperlink jxLink
= new JXHyperlink();
491 jxLink
.setText("Benutzerverwaltung");
492 img
= new ImageIcon(Reha
.proghome
+"icons/contact-new.png").getImage().getScaledInstance(24, 24, Image
.SCALE_SMOOTH
);
493 jxLink
.setIcon(new ImageIcon(img
));
494 jxLink
.setClickedColor(new Color(0, 0x33, 0xFF));
495 jxLink
.addActionListener(this);
496 jxLink
.setEnabled(true);
498 jxLink
= new JXHyperlink();
499 jxLink
.setText("System Initialisierung");
500 img
= new ImageIcon(Reha
.proghome
+"icons/galternatives.png").getImage().getScaledInstance(24, 24, Image
.SCALE_SMOOTH
);
501 jxLink
.setIcon(new ImageIcon(img
));
502 jxLink
.setClickedColor(new Color(0, 0x33, 0xFF));
503 jxLink
.addActionListener(this);
505 jxLink
= new JXHyperlink();
506 jxLink
.setText("Look & Feel");
507 jxLink
.addActionListener(this);
508 jxLink
.setEnabled(false);
510 tp2
.setCollapsed(SystemConfig
.taskPaneCollapsed
[4]);
514 private JXTaskPane
getMonatsUebersicht(){
515 tp6
= new JXTaskPane();
516 UIManager
.put("TaskPane.titleBackgroundGradientStart",Color
.WHITE
);
517 UIManager
.put("TaskPane.titleBackgroundGradientEnd",new Color(200,212,247));
518 UIManager
.put("TaskPane.background",new Color(214,223,247));
519 UIManager
.put("TaskPane.useGradient", Boolean
.TRUE
);
520 WindowsTaskPaneUI wui
= new WindowsTaskPaneUI();
522 tp6
.setTitle("Monatsübersicht");
523 final JXMonthView monthView
= new JXMonthView ();
524 monthView
.setPreferredColumnCount (1);
525 monthView
.setPreferredRowCount (1);
526 monthView
.setTraversable(true);
527 monthView
.setShowingWeekNumber(true);
528 al
= new ActionListener(){
530 public void actionPerformed(ActionEvent e
) {
531 if(TerminFenster
.getThisClass()!= null){
532 Date dat
= monthView
.getSelectionDate();
536 wahlTag
= sdf
.format(monthView
.getSelectionDate());
537 if(wahlTag
.equals(aktTag
)){
541 Reha
.thisClass
.progLoader
.ProgTerminFenster(1, 0);
542 TerminFenster
.getThisClass().springeAufDatum(aktTag
);
544 Date dat
= monthView
.getSelectionDate();
548 wahlTag
= sdf
.format(monthView
.getSelectionDate());
549 if(wahlTag
.equals(aktTag
)){
553 Reha
.thisClass
.progLoader
.ProgTerminFenster(1, 0);
554 SwingUtilities
.invokeLater(new Runnable(){
556 TerminFenster
.getThisClass().springeAufDatum(aktTag
);
564 monthView
.addActionListener(al
);
566 tp6
.setCollapsed(true);
567 tp6
.setCollapsed(SystemConfig
.taskPaneCollapsed
[5]);
572 public static void UpdateUI(){
573 jxTPcontainer
.updateUI();
580 ////System.out.println("TaskPane-Container L&F");
583 * Eigener Event-Handler man wird sehen ob das vern�ftig ist.
586 public void actionPerformed(ActionEvent e
) {
587 String cmd
= e
.getActionCommand();
590 if (cmd
.equals("Look & Feel")) {
591 ExUndHop eUh
= new ExUndHop();
592 eUh
.setzeStatement("delete from flexlock");
593 //ProgLoader.ProgLookAndFeel(0);
597 if (cmd
.equals("System Initialisierung")){
598 new SwingWorker
<Void
,Void
>(){
600 protected Void
doInBackground() throws Exception
{
602 Reha
.thisFrame
.setCursor(Reha
.thisClass
.wartenCursor
);
603 //ProgLoader.SystemInitialisierung();
604 Reha
.thisClass
.progLoader
.SystemInit(1, "");
605 Reha
.thisFrame
.setCursor(Reha
.thisClass
.normalCursor
);
606 }catch(Exception ex
){
607 ex
.printStackTrace();
614 /*SystemUtil sysUtil = new SystemUtil(Reha.thisFrame);
615 sysUtil.setSize(800,600);
616 sysUtil.setLocation(100,75);
617 sysUtil.setVisible(true);
622 if (cmd
.equals("Krankenkassen")){
623 new SwingWorker
<Void
,Void
>(){
625 protected Void
doInBackground() throws Exception
{
626 Reha
.thisFrame
.setCursor(Reha
.thisClass
.wartenCursor
);
627 Reha
.thisClass
.progLoader
.KassenFenster(0,TestePatStamm
.PatStammKasseID());
628 //ProgLoader.KassenFenster(0,TestePatStamm.PatStammKasseID());
629 Reha
.thisFrame
.setCursor(Reha
.thisClass
.normalCursor
);
636 if (cmd
.equals("Terminkalender starten")){
637 new SwingWorker
<Void
,Void
>(){
639 protected Void
doInBackground() throws Exception
{
640 Reha
.thisFrame
.setCursor(Reha
.thisClass
.wartenCursor
);
641 Reha
.thisClass
.progLoader
.ProgTerminFenster(1, (SystemConfig
.KalenderStartWochenAnsicht ?
1 : 0));
642 //ProgLoader.ProgTerminFenster(1,0);
643 Reha
.thisFrame
.setCursor(Reha
.thisClass
.normalCursor
);
649 if (cmd
.equals("Arztstamm")){
650 new SwingWorker
<Void
,Void
>(){
652 protected Void
doInBackground() throws Exception
{
653 Reha
.thisFrame
.setCursor(Reha
.thisClass
.wartenCursor
);
654 Reha
.thisClass
.progLoader
.ArztFenster(0,TestePatStamm
.PatStammArztID());
655 //ProgLoader.ArztFenster(0,TestePatStamm.PatStammArztID());
656 Reha
.thisFrame
.setCursor(Reha
.thisClass
.normalCursor
);
662 if (cmd
.equals("Wochenarbeitszeiten definieren")){
663 JComponent termin
= AktiveFenster
.getFensterAlle("TerminFenster");
665 JOptionPane
.showMessageDialog (null, "Achtung!!!!! \n\nWährend der Arbeitszeit-Definition\n" +
666 "darf der Terminkalender aus Sicherheitsgründen nicht geöffnet sein.\n"+
667 "Beenden Sie den Terminkalender und rufen Sie diese Funktion erneut auf.\n\n");
670 Reha
.thisClass
.progLoader
.ProgTerminFenster(0, 2);
671 //ProgLoader.ProgTerminFenster(0,2);
675 if (cmd
.equals("monthview")){
676 new DatumWahl(200,200);
680 if (cmd
.equals("OpenOffice-Writer")){
681 OOTools
.starteLeerenWriter();
685 if (cmd
.equals("OpenOffice-Calc")){
686 OOTools
.starteLeerenCalc();
690 if (cmd
.equals("OpenOffice-Impress")){
691 OOTools
.starteLeerenImpress();
695 if (cmd
.equals("Benutzerverwaltung")){
696 Reha
.thisClass
.progLoader
.BenutzerrechteFenster(1,"");
699 if (cmd
.equals("[Ru:gl] - Die Terminsuchmaschine")){
700 Reha
.thisClass
.progLoader
.ProgRoogleFenster(0,null);
701 //ProgLoader.ProgRoogleFenster(0,null);
704 if (cmd
.equals("RTA-Wisssen das Universalwissen")){
707 if (cmd
.equals("Thera-PI - Browser")){
709 File file = new File(Reha.proghome+"xulrunner/xulrunner.exe");
711 JOptionPane.showMessageDialog(null,"Die Mozilla-Runtime 'xulrunner' wurde nicht, oder nicht korrekt installiert\n"+
712 "Der Thera-PI - Browser kann deshalb nicht gestartet werden");
718 new LadeProg(Reha
.proghome
+"RehaWissen.jar");
721 new SwingWorker
<Void
,Void
>(){
723 protected Void
doInBackground() throws Exception
{
724 RehaSplash rspl
= new RehaSplash(null,"Hilfebrowser laden....dieser Vorgang kann einige Sekunden dauern...");
725 long zeit
= System
.currentTimeMillis();
728 if(System
.currentTimeMillis()-zeit
> 2000){
741 if (cmd
.equals("Thera-PI - Nachrichten")){
742 //Reha.nachrichtenRegeln();
743 if(! RehaIOServer
.rehaMailIsActive
){
744 if(Reha
.aktUser
.startsWith("Therapeut")){return;}
745 Reha
.thisFrame
.setCursor(Reha
.thisClass
.wartenCursor
);
748 new LadeProg(Reha
.proghome
+"RehaMail.jar"+" "+Reha
.proghome
+" "+Reha
.aktIK
+" "+Reha
.xport
+" "+Reha
.aktUser
.replace(" ", "#"));
753 if(Reha
.aktUser
.startsWith("Therapeut")){return;}
754 new ReverseSocket().setzeRehaNachricht(RehaIOServer
.rehaMailreversePort
,"Reha#"+RehaIOMessages
.MUST_GOTOFRONT
);
760 if (cmd
.equals("Neuer Wissensbeitrag anlegen")){
761 JOptionPane
.showMessageDialog (null, "Achtung!!!!! \n\nDer Wissens-Generator ist auf diesem System\n\n" +
762 "nicht installiert - oder konnte nicht gefunden werden...\n\n");
765 if (cmd
.equals("Patienten und Rezepte")){
766 new SwingWorker
<Void
,Void
>(){
768 protected Void
doInBackground() throws Exception
{
769 setCursor(Reha
.thisClass
.wartenCursor
);
770 Reha
.thisClass
.progLoader
.ProgPatientenVerwaltung(1);
771 //Reha.thisClass.progLoader.ProgTerminFenster(0, 1);
772 //ProgLoader.ProgPatientenVerwaltung(1);
773 setCursor(Reha
.thisClass
.normalCursor
);
779 if (cmd
.equals("piHelp")){
782 new LadeProg(Reha
.proghome
+"piHelp.jar");
787 if (cmd
.equals("piTool")){
788 new LadeProg(Reha
.proghome
+"piTool.jar");
791 if (cmd
.equals("piTextb")){
792 new LadeProg(Reha
.proghome
+"TBedit.jar "+
793 Reha
.proghome
+"ini/"+Reha
.aktIK
+"/rehajava.ini"+" "+
794 Reha
.proghome
+"ini/"+Reha
.aktIK
+"/thbericht.ini");
795 new SwingWorker
<Void
,Void
>(){
797 protected Void
doInBackground() throws Exception
{
798 RehaSplash rspl
= new RehaSplash(null,"Textbaustein-Editor laden....dieser Vorgang kann einige Sekunden dauern...");
799 long zeit
= System
.currentTimeMillis();
802 if(System
.currentTimeMillis()-zeit
> 2000){
814 if (cmd
.equals("piArztTextb")){
815 if(!Rechte
.hatRecht(Rechte
.Sonstiges_textbausteinegutachten
, true)){
820 new LadeProg(Reha
.proghome
+"ArztBaustein.jar "+
821 Reha
.proghome
+"ini/"+Reha
.aktIK
+"/rehajava.ini");
825 new SwingWorker
<Void
,Void
>(){
827 protected Void
doInBackground() throws Exception
{
828 RehaSplash rspl
= new RehaSplash(null,"Textbaustein-Editor laden....dieser Vorgang kann einige Sekunden dauern...");
829 long zeit
= System
.currentTimeMillis();
832 if(System
.currentTimeMillis()-zeit
> 2000){
846 if (cmd
.equals("Akutliste")){
847 if(SqlInfo
.holeEinzelFeld("select id from pat5 where akutpat='T' LIMIT 1").equals("")){
848 JOptionPane
.showMessageDialog(null,"Keine Akutpatienten im Patientenstamm vermerkt");
851 new SwingWorker
<Void
,Void
>(){
853 protected Void
doInBackground() throws Exception
{
854 Reha
.thisFrame
.setCursor(Reha
.thisClass
.wartenCursor
);
855 KurzAufrufe
.starteFunktion("Akutliste",null,null);
856 Reha
.thisFrame
.setCursor(Reha
.thisClass
.cdefault
);
861 new SwingWorker
<Void
,Void
>(){
863 protected Void
doInBackground() throws Exception
{
864 RehaSplash rspl
= new RehaSplash(null,"Akutliste starten - dieser Vorgang kann einige Sekunden dauern...");
865 long zeit
= System
.currentTimeMillis();
868 if(System
.currentTimeMillis()-zeit
> 2000){
879 if (cmd
.equals("neuerwecker")){
880 Wecker wecker
= new Wecker(null);
882 wecker
.setVisible(true);
892 public void componentHidden(ComponentEvent e
) {
893 // TODO Auto-generated method stub
897 public void componentMoved(ComponentEvent e
) {
898 // TODO Auto-generated method stub
902 public void componentResized(ComponentEvent e
) {
903 // TODO Auto-generated method stub
904 ////System.out.println("Linke-Task-Pane: "+e);
908 public void componentShown(ComponentEvent e
) {
909 // TODO Auto-generated method stub
912 public static void OoOk(){
913 //LinkeTaskPane.thisClass.oo1.setEnabled(true);
914 //LinkeTaskPane.thisClass.oo2.setEnabled(true);
917 public void MaskenErstellen(){
919 String behandler
= "";
920 Statement stmt
= null;
922 stmt
= (Statement
) Reha
.thisClass
.conn
.createStatement(ResultSet
.TYPE_SCROLL_SENSITIVE
,
923 ResultSet
.CONCUR_UPDATABLE
);
924 for(int i
=1;i
<61;i
++){
925 for(int t
=1;t
<8;t
++){
926 behandler
= (i
<10 ?
"0"+i
+"BEHANDLER" : Integer
.toString(i
)+"BEHANDLER");
927 sstmt
= "insert into masken set behandler='"+behandler
+"' , art = '"+t
+"' ,belegt='1', N1='@FREI', TS1='07:00:00', TD1='900', TE1='22:00:00'";
928 ////System.out.println(sstmt);
931 } catch (SQLException e
) {
932 // TODO Auto-generated catch block
938 } catch (SQLException e
) {
939 // TODO Auto-generated catch block
945 } catch (SQLException e
) {
946 // TODO Auto-generated catch block
952 private void doWeckerDrop(String drops
){
953 Wecker wecker
= new Wecker(drops
);
955 wecker
.setVisible(true);
958 private void doPatientDrop(String rez_nr
){
960 String reznr
= rez_nr
;
961 boolean inhistorie
= false;
962 int ind
= reznr
.indexOf("\\");
964 reznr
= reznr
.substring(0,ind
);
967 Vector
<String
> vec
= SqlInfo
.holeSatz("verordn", "pat_intern", "rez_nr='"+reznr
+"'",(List
<?
>) new ArrayList
<String
>() );
969 vec
= SqlInfo
.holeSatz("lza", "pat_intern", "rez_nr='"+reznr
+"'",(List
<?
>) new ArrayList
<String
>() );
971 JOptionPane
.showMessageDialog(null,"Rezept weder im aktuellen Rezeptstamm noch in der Historie vorhanden!\nIst die eingetragene Rezeptnummer korrekt?");
974 JOptionPane
.showMessageDialog(null,"Rezept ist bereits abgerechnet und somit in der Historie des Patienten!");
978 vec
= SqlInfo
.holeSatz("pat5", "pat_intern", "pat_intern='"+vec
.get(0)+"'",(List
<?
>) new ArrayList
<String
>() );
980 JOptionPane
.showMessageDialog(null,"Patient mit zugeordneter Rezeptnummer -> "+reznr
+" <- wurde nicht gefunden");
983 pat_int
= (String
) vec
.get(0);
984 JComponent patient
= AktiveFenster
.getFensterAlle("PatientenVerwaltung");
985 final String xreznr
= reznr
;
986 final boolean xinhistorie
= inhistorie
;
988 final String xpat_int
= pat_int
;
989 new SwingWorker
<Void
,Void
>(){
990 protected Void
doInBackground() throws Exception
{
991 JComponent xpatient
= AktiveFenster
.getFensterAlle("PatientenVerwaltung");
992 Reha
.thisClass
.progLoader
.ProgPatientenVerwaltung(1);
993 while( (xpatient
== null) ){
995 xpatient
= AktiveFenster
.getFensterAlle("PatientenVerwaltung");
997 while( (!AktuelleRezepte
.initOk
) ){
1001 String s1
= "#PATSUCHEN";
1002 String s2
= (String
) xpat_int
;
1003 PatStammEvent pEvt
= new PatStammEvent(Reha
.thisClass
.terminpanel
);
1004 pEvt
.setPatStammEvent("PatSuchen");
1005 pEvt
.setDetails(s1
,s2
,"#REZHOLEN-"+xreznr
) ;
1006 PatStammEventClass
.firePatStammEvent(pEvt
);
1008 Reha
.thisClass
.patpanel
.getTab().setSelectedIndex(1);
1010 Reha
.thisClass
.patpanel
.getTab().setSelectedIndex(0);
1018 Reha
.thisClass
.progLoader
.ProgPatientenVerwaltung(1);
1019 String s1
= "#PATSUCHEN";
1020 String s2
= (String
) pat_int
;
1021 PatStammEvent pEvt
= new PatStammEvent(Reha
.thisClass
.terminpanel
);
1022 pEvt
.setPatStammEvent("PatSuchen");
1023 pEvt
.setDetails(s1
,s2
,"#REZHOLEN-"+xreznr
) ;
1024 PatStammEventClass
.firePatStammEvent(pEvt
);
1026 Reha
.thisClass
.patpanel
.getTab().setSelectedIndex(1);
1028 Reha
.thisClass
.patpanel
.getTab().setSelectedIndex(0);
1034 /************************************************************/
1036 /************************************************************/
1039 public void dragEnter(DropTargetDragEvent arg0
) {
1040 // TODO Auto-generated method stub
1041 ////System.out.println("Enter---->"+arg0);
1042 ////System.out.println(((JComponent)arg0.getSource()).getName());
1046 public void dragExit(DropTargetEvent arg0
) {
1047 // TODO Auto-generated method stub
1051 public void dragOver(DropTargetDragEvent arg0
) {
1052 // TODO Auto-generated method stub
1056 public void drop(DropTargetDropEvent arg0
) {
1057 // TODO Auto-generated method stub
1058 ////System.out.println(arg0);
1062 public void dropActionChanged(DropTargetDragEvent arg0
) {
1063 // TODO Auto-generated method stub
1067 /************************************************************/
1074 public ladeProg(String prog){
1075 String progname= null;
1076 if(prog.indexOf(" ")>=0){
1077 progname = prog.split(" ")[0];
1081 File f = new File(progname);
1083 JOptionPane.showMessageDialog(null,"Diese Software ist auf Ihrem System nicht installiert!");
1086 String vmload = "java -jar ";
1087 String commandx = vmload + prog;
1088 File ausgabedatei = new File(Reha.proghome+"laden.bat");
1091 fw = new FileWriter(ausgabedatei);
1092 BufferedWriter bw = new BufferedWriter(fw);
1095 } catch (IOException e1) {
1096 e1.printStackTrace();
1098 final String xprog = prog;
1099 new SwingWorker<Void, Void>(){
1102 protected Void doInBackground() throws Exception {
1104 List<String>list = Arrays.asList(xprog.split(" "));
1105 ArrayList<String> alist = new ArrayList<String>(list);
1106 alist.add(0,"-jar");
1107 alist.add(0,"java");
1108 //System.out.println(list);
1109 //System.out.println("Die Liste = "+alist);
1111 //System.out.println("Liste = "+list);
1112 Process process = new ProcessBuilder(alist).start();
1113 InputStream is = process.getInputStream();
1114 InputStreamReader isr = new InputStreamReader(is);
1115 BufferedReader br = new BufferedReader(isr);
1117 while ((line = br.readLine()) != null) {
1118 //System.out.println(line);
1125 } catch (IOException e) {
1126 // TODO Auto-generated catch block
1127 e.printStackTrace();