Integration of OCCT 6.5.0 from SVN
[occt.git] / samples / java / java / SampleGeometryPanel.java
1
2 //Title:        OpenCASCADE Samples
3 //Version:
4 //Copyright:    Copyright (c) 1999
5 //Author:       User Interface Group (Nizhny Novgorod)
6 //Company:      Matra Datavision
7 //Description:
8
9
10 import java.awt.*;
11 import java.awt.event.*;
12 import javax.swing.*;
13 import java.util.*;
14 import jcas.Standard_CString;
15 import CASCADESamplesJni.*;
16 import SampleGeometryJni.*;
17 import util.*;
18
19 public class SampleGeometryPanel extends SamplePanel
20                                  implements ActionListener,
21                                             MouseListener,
22                                             MouseMotionListener
23 {
24   //-----------------------------------------------------------//
25   // Resources
26   //-----------------------------------------------------------//
27   static protected ResourceBundle resGui =
28          ResourceBundle.getBundle("SampleGeometry");
29
30   static protected ImageIcon imgTest1 = new ImageIcon(resGui.getString("Icon-Test1"));
31   static protected ImageIcon imgTest2 = new ImageIcon(resGui.getString("Icon-Test2"));
32   static protected ImageIcon imgTest3 = new ImageIcon(resGui.getString("Icon-Test3"));
33   static protected ImageIcon imgTest4 = new ImageIcon(resGui.getString("Icon-Test4"));
34   static protected ImageIcon imgTest5 = new ImageIcon(resGui.getString("Icon-Test5"));
35   static protected ImageIcon imgTest6 = new ImageIcon(resGui.getString("Icon-Test6"));
36   static protected ImageIcon imgTest7 = new ImageIcon(resGui.getString("Icon-Test7"));
37   static protected ImageIcon imgTest8 = new ImageIcon(resGui.getString("Icon-Test8"));
38   static protected ImageIcon imgTest9 = new ImageIcon(resGui.getString("Icon-Test9"));
39   static protected ImageIcon imgTest10 = new ImageIcon(resGui.getString("Icon-Test10"));
40   static protected ImageIcon imgTest11 = new ImageIcon(resGui.getString("Icon-Test11"));
41   static protected ImageIcon imgTest12 = new ImageIcon(resGui.getString("Icon-Test12"));
42   static protected ImageIcon imgTest13 = new ImageIcon(resGui.getString("Icon-Test13"));
43   static protected ImageIcon imgTest14 = new ImageIcon(resGui.getString("Icon-Test14"));
44   static protected ImageIcon imgTest15 = new ImageIcon(resGui.getString("Icon-Test15"));
45   static protected ImageIcon imgTest16 = new ImageIcon(resGui.getString("Icon-Test16"));
46   static protected ImageIcon imgTest17 = new ImageIcon(resGui.getString("Icon-Test17"));
47   static protected ImageIcon imgTest18 = new ImageIcon(resGui.getString("Icon-Test18"));
48   static protected ImageIcon imgTest19 = new ImageIcon(resGui.getString("Icon-Test19"));
49   static protected ImageIcon imgTest20 = new ImageIcon(resGui.getString("Icon-Test20"));
50   static protected ImageIcon imgTest21 = new ImageIcon(resGui.getString("Icon-Test21"));
51   static protected ImageIcon imgTest22 = new ImageIcon(resGui.getString("Icon-Test22"));
52   static protected ImageIcon imgTest23 = new ImageIcon(resGui.getString("Icon-Test23"));
53   static protected ImageIcon imgTest24 = new ImageIcon(resGui.getString("Icon-Test24"));
54   static protected ImageIcon imgTest25 = new ImageIcon(resGui.getString("Icon-Test25"));
55   static protected ImageIcon imgTest26 = new ImageIcon(resGui.getString("Icon-Test26"));
56   static protected ImageIcon imgTest27 = new ImageIcon(resGui.getString("Icon-Test27"));
57   static protected ImageIcon imgTest28 = new ImageIcon(resGui.getString("Icon-Test28"));
58   static protected ImageIcon imgTest29 = new ImageIcon(resGui.getString("Icon-Test29"));
59   static protected ImageIcon imgTest30 = new ImageIcon(resGui.getString("Icon-Test30"));
60   static protected ImageIcon imgTest31 = new ImageIcon(resGui.getString("Icon-Test31"));
61   static protected ImageIcon imgTest32 = new ImageIcon(resGui.getString("Icon-Test32"));
62   static protected ImageIcon imgTest33 = new ImageIcon(resGui.getString("Icon-Test33"));
63   static protected ImageIcon imgTest34 = new ImageIcon(resGui.getString("Icon-Test34"));
64   static protected ImageIcon imgTest35 = new ImageIcon(resGui.getString("Icon-Test35"));
65   static protected ImageIcon imgTest36 = new ImageIcon(resGui.getString("Icon-Test36"));
66   static protected ImageIcon imgTest37 = new ImageIcon(resGui.getString("Icon-Test37"));
67   static protected ImageIcon imgTest38 = new ImageIcon(resGui.getString("Icon-Test38"));
68   static protected ImageIcon imgTest39 = new ImageIcon(resGui.getString("Icon-Test39"));
69   static protected ImageIcon imgTest40 = new ImageIcon(resGui.getString("Icon-Test40"));
70   static protected ImageIcon imgTest41 = new ImageIcon(resGui.getString("Icon-Test41"));
71   static protected ImageIcon imgTest42 = new ImageIcon(resGui.getString("Icon-Test42"));
72   static protected ImageIcon imgTest43 = new ImageIcon(resGui.getString("Icon-Test43"));
73   static protected ImageIcon imgTest44 = new ImageIcon(resGui.getString("Icon-Test44"));
74   static protected ImageIcon imgTest45 = new ImageIcon(resGui.getString("Icon-Test45"));
75   static protected ImageIcon imgTest46 = new ImageIcon(resGui.getString("Icon-Test46"));
76   static protected ImageIcon imgTest47 = new ImageIcon(resGui.getString("Icon-Test47"));
77   static protected ImageIcon imgTest48 = new ImageIcon(resGui.getString("Icon-Test48"));
78   static protected ImageIcon imgTest49 = new ImageIcon(resGui.getString("Icon-Test49"));
79   static protected ImageIcon imgTest50 = new ImageIcon(resGui.getString("Icon-Test50"));
80
81
82   static final int ONLY_VIEW3D = 0;
83   static final int ONLY_VIEW2D = 1;
84   static final int BOTH_VIEW = 2;
85   
86
87   //-----------------------------------------------------------//
88   // Components
89   //-----------------------------------------------------------//
90   private ViewPanel myView2d;
91   private ViewPanel myView3d;
92
93   private static V2d_Viewer myViewer2d = null;
94   private static V3d_Viewer myViewer3d = null;
95   
96   private static ISession2D_InteractiveContext myInteractiveContext = null;
97   private static AIS_InteractiveContext myAISContext = null;
98
99   private int startX = 0, startY = 0;
100   private boolean Dragged = false;
101
102
103   //-----------------------------------------------------------//
104   // External access
105   //-----------------------------------------------------------//
106   public static V2d_Viewer getViewer2d()
107   {
108     return myViewer2d;
109   }
110
111   public static V3d_Viewer getViewer3d()
112   {
113     return myViewer3d;
114   }
115
116   public static ISession2D_InteractiveContext getInteractiveContext()
117   {
118     return myInteractiveContext;
119   }
120
121   public static AIS_InteractiveContext getAISContext()
122   {
123     return myAISContext;
124   }
125
126
127 //=======================================================================//
128 //                             Constructor                               //
129 //=======================================================================//
130   public SampleGeometryPanel()
131   {
132     // 2D Initialization
133     //------------------------------------------
134     myViewer2d.SetCircularGridValues(0.0, 0.0, 1.0, 8, 0.0);
135     myViewer2d.SetRectangularGridValues(0.0, 0.0, 1.0, 1.0, 0.0);
136
137     if (myInteractiveContext == null)
138       myInteractiveContext = new ISession2D_InteractiveContext(myViewer2d);
139
140
141     // 3D Initialization
142     //------------------------------------------
143     myViewer3d.SetDefaultLights();
144     myViewer3d.SetLightOn();
145
146     if (myAISContext == null)
147     {
148       myAISContext = new AIS_InteractiveContext(myViewer3d);
149       myAISContext.SetIsoNumber(11, AIS_TypeOfIso.AIS_TOI_Both);
150     }
151   }
152
153 //-----------------------------------------------------------------------//
154   public JPanel createViewPanel()
155   {
156     JPanel mainPanel = new JPanel();
157     mainPanel.setLayout(new GridBagLayout());
158     mainPanel.setBorder(BorderFactory.createEmptyBorder(0, 5, 5, 0));
159
160
161     // Viewer 2D
162     //------------------------------------------
163     if (myViewer2d == null){
164       System.out.println("Info: Create Viewer");
165       myViewer2d = SampleGeometryPackage.CreateViewer2d("Geometry2d");
166       System.out.println("Info: Done creation of Viewer2d");
167     }
168
169     myView2d = new ViewPanel(ViewPanel.VIEW_2D) {
170         public ViewCanvas createViewPort()
171         {
172           return new CASCADEView2d(SampleGeometryPanel.getViewer2d()) {
173               public V2d_View createView2d(V2d_Viewer viewer, int hiwin, int lowin) {
174                 return SampleGeometryPackage.CreateView2d(viewer, hiwin, lowin);
175               }
176           };
177         }
178     };
179
180     myView2d.addMouseListener(this);
181     myView2d.addMouseMotionListener(this);
182
183
184     // Viewer 3D
185     //------------------------------------------
186     myViewer3d = SampleGeometryPackage.CreateViewer3d("Geometry3d");
187
188     myView3d = new ViewPanel() {
189         public ViewCanvas createViewPort()
190         {
191           return new CASCADEView3d(SampleGeometryPanel.getViewer3d()) {
192               public void setWindow3d(V3d_View view, int hiwin, int lowin) {
193                 SampleGeometryPackage.SetWindow3d(view, hiwin, lowin);
194               }
195           };
196         }
197     };
198    
199     myView3d.addMouseListener(this);
200     myView3d.addMouseMotionListener(this);
201
202
203     // Layout
204     //------------------------------------------
205     mainPanel.add(myView2d, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.5,
206             GridBagConstraints.CENTER, GridBagConstraints.BOTH,
207             new Insets(0, 0, 0, 0), 0, 0));
208     mainPanel.add(myView3d, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.5,
209             GridBagConstraints.CENTER, GridBagConstraints.BOTH,
210             new Insets(0, 0, 0, 0), 0, 0));
211
212     showView3d();
213             
214     return mainPanel;
215   }
216
217 //-----------------------------------------------------------------------//
218   public Component createToolbar()
219   {
220     JToolBar tools = (JToolBar) super.createToolbar();
221     tools.setLayout(new GridLayout(2,0,1,1));
222
223     ButtonGroup group = new ButtonGroup();
224     Insets margin = new Insets(1, 1, 1, 1);
225     JToggleButton button;
226
227     button = new HeavyToggleButton(imgTest1, false);
228     button.setToolTipText(resGui.getString("TT-Test1"));
229     button.setActionCommand("Test1");
230     button.addActionListener(this);
231     button.setMargin(margin);
232     group.add(button);
233     tools.add(button);
234
235     button = new HeavyToggleButton(imgTest2, false);
236     button.setToolTipText(resGui.getString("TT-Test2"));
237     button.setActionCommand("Test2");
238     button.addActionListener(this);
239     button.setMargin(margin);
240     group.add(button);
241     tools.add(button);
242
243     button = new HeavyToggleButton(imgTest3, false);
244     button.setToolTipText(resGui.getString("TT-Test3"));
245     button.setActionCommand("Test3");
246     button.addActionListener(this);
247     button.setMargin(margin);
248     group.add(button);
249     tools.add(button);
250
251     button = new HeavyToggleButton(imgTest4, false);
252     button.setToolTipText(resGui.getString("TT-Test4"));
253     button.setActionCommand("Test4");
254     button.addActionListener(this);
255     button.setMargin(margin);
256     group.add(button);
257     tools.add(button);
258
259     button = new HeavyToggleButton(imgTest5, false);
260     button.setToolTipText(resGui.getString("TT-Test5"));
261     button.setActionCommand("Test5");
262     button.addActionListener(this);
263     button.setMargin(margin);
264     group.add(button);
265     tools.add(button);
266
267     button = new HeavyToggleButton(imgTest6, false);
268     button.setToolTipText(resGui.getString("TT-Test6"));
269     button.setActionCommand("Test6");
270     button.addActionListener(this);
271     button.setMargin(margin);
272     group.add(button);
273     tools.add(button);
274
275     button = new HeavyToggleButton(imgTest7, false);
276     button.setToolTipText(resGui.getString("TT-Test7"));
277     button.setActionCommand("Test7");
278     button.addActionListener(this);
279     button.setMargin(margin);
280     group.add(button);
281     tools.add(button);
282
283     button = new HeavyToggleButton(imgTest8, false);
284     button.setToolTipText(resGui.getString("TT-Test8"));
285     button.setActionCommand("Test8");
286     button.addActionListener(this);
287     button.setMargin(margin);
288     group.add(button);
289     tools.add(button);
290
291     button = new HeavyToggleButton(imgTest9, false);
292     button.setToolTipText(resGui.getString("TT-Test9"));
293     button.setActionCommand("Test9");
294     button.addActionListener(this);
295     button.setMargin(margin);
296     group.add(button);
297     tools.add(button);
298
299     button = new HeavyToggleButton(imgTest10, false);
300     button.setToolTipText(resGui.getString("TT-Test10"));
301     button.setActionCommand("Test10");
302     button.addActionListener(this);
303     button.setMargin(margin);
304     group.add(button);
305     tools.add(button);
306
307     button = new HeavyToggleButton(imgTest11, false);
308     button.setToolTipText(resGui.getString("TT-Test11"));
309     button.setActionCommand("Test11");
310     button.addActionListener(this);
311     button.setMargin(margin);
312     group.add(button);
313     tools.add(button);
314
315     button = new HeavyToggleButton(imgTest12, false);
316     button.setToolTipText(resGui.getString("TT-Test12"));
317     button.setActionCommand("Test12");
318     button.addActionListener(this);
319     button.setMargin(margin);
320     group.add(button);
321     tools.add(button);
322
323     button = new HeavyToggleButton(imgTest13, false);
324     button.setToolTipText(resGui.getString("TT-Test13"));
325     button.setActionCommand("Test13");
326     button.addActionListener(this);
327     button.setMargin(margin);
328     group.add(button);
329     tools.add(button);
330
331     button = new HeavyToggleButton(imgTest14, false);
332     button.setToolTipText(resGui.getString("TT-Test14"));
333     button.setActionCommand("Test14");
334     button.addActionListener(this);
335     button.setMargin(margin);
336     group.add(button);
337     tools.add(button);
338
339     button = new HeavyToggleButton(imgTest15, false);
340     button.setToolTipText(resGui.getString("TT-Test15"));
341     button.setActionCommand("Test15");
342     button.addActionListener(this);
343     button.setMargin(margin);
344     group.add(button);
345     tools.add(button);
346
347     button = new HeavyToggleButton(imgTest16, false);
348     button.setToolTipText(resGui.getString("TT-Test16"));
349     button.setActionCommand("Test16");
350     button.addActionListener(this);
351     button.setMargin(margin);
352     group.add(button);
353     tools.add(button);
354
355     button = new HeavyToggleButton(imgTest17, false);
356     button.setToolTipText(resGui.getString("TT-Test17"));
357     button.setActionCommand("Test17");
358     button.addActionListener(this);
359     button.setMargin(margin);
360     group.add(button);
361     tools.add(button);
362
363     button = new HeavyToggleButton(imgTest18, false);
364     button.setToolTipText(resGui.getString("TT-Test18"));
365     button.setActionCommand("Test18");
366     button.addActionListener(this);
367     button.setMargin(margin);
368     group.add(button);
369     tools.add(button);
370
371     button = new HeavyToggleButton(imgTest19, false);
372     button.setToolTipText(resGui.getString("TT-Test19"));
373     button.setActionCommand("Test19");
374     button.addActionListener(this);
375     button.setMargin(margin);
376     group.add(button);
377     tools.add(button);
378
379     button = new HeavyToggleButton(imgTest20, false);
380     button.setToolTipText(resGui.getString("TT-Test20"));
381     button.setActionCommand("Test20");
382     button.addActionListener(this);
383     button.setMargin(margin);
384     group.add(button);
385     tools.add(button);
386
387     button = new HeavyToggleButton(imgTest21, false);
388     button.setToolTipText(resGui.getString("TT-Test21"));
389     button.setActionCommand("Test21");
390     button.addActionListener(this);
391     button.setMargin(margin);
392     group.add(button);
393     tools.add(button);
394
395     button = new HeavyToggleButton(imgTest22, false);
396     button.setToolTipText(resGui.getString("TT-Test22"));
397     button.setActionCommand("Test22");
398     button.addActionListener(this);
399     button.setMargin(margin);
400     group.add(button);
401     tools.add(button);
402
403     button = new HeavyToggleButton(imgTest23, false);
404     button.setToolTipText(resGui.getString("TT-Test23"));
405     button.setActionCommand("Test23");
406     button.addActionListener(this);
407     button.setMargin(margin);
408     group.add(button);
409     tools.add(button);
410
411     button = new HeavyToggleButton(imgTest24, false);
412     button.setToolTipText(resGui.getString("TT-Test24"));
413     button.setActionCommand("Test24");
414     button.addActionListener(this);
415     button.setMargin(margin);
416     group.add(button);
417     tools.add(button);
418
419     button = new HeavyToggleButton(imgTest25, false);
420     button.setToolTipText(resGui.getString("TT-Test25"));
421     button.setActionCommand("Test25");
422     button.addActionListener(this);
423     button.setMargin(margin);
424     group.add(button);
425     tools.add(button);
426
427     button = new HeavyToggleButton(imgTest26, false);
428     button.setToolTipText(resGui.getString("TT-Test26"));
429     button.setActionCommand("Test26");
430     button.addActionListener(this);
431     button.setMargin(margin);
432     group.add(button);
433     tools.add(button);
434
435     button = new HeavyToggleButton(imgTest27, false);
436     button.setToolTipText(resGui.getString("TT-Test27"));
437     button.setActionCommand("Test27");
438     button.addActionListener(this);
439     button.setMargin(margin);
440     group.add(button);
441     tools.add(button);
442
443     button = new HeavyToggleButton(imgTest28, false);
444     button.setToolTipText(resGui.getString("TT-Test28"));
445     button.setActionCommand("Test28");
446     button.addActionListener(this);
447     button.setMargin(margin);
448     group.add(button);
449     tools.add(button);
450
451     button = new HeavyToggleButton(imgTest29, false);
452     button.setToolTipText(resGui.getString("TT-Test29"));
453     button.setActionCommand("Test29");
454     button.addActionListener(this);
455     button.setMargin(margin);
456     group.add(button);
457     tools.add(button);
458
459     button = new HeavyToggleButton(imgTest30, false);
460     button.setToolTipText(resGui.getString("TT-Test30"));
461     button.setActionCommand("Test30");
462     button.addActionListener(this);
463     button.setMargin(margin);
464     group.add(button);
465     tools.add(button);
466
467     button = new HeavyToggleButton(imgTest31, false);
468     button.setToolTipText(resGui.getString("TT-Test31"));
469     button.setActionCommand("Test31");
470     button.addActionListener(this);
471     button.setMargin(margin);
472     group.add(button);
473     tools.add(button);
474
475     button = new HeavyToggleButton(imgTest32, false);
476     button.setToolTipText(resGui.getString("TT-Test32"));
477     button.setActionCommand("Test32");
478     button.addActionListener(this);
479     button.setMargin(margin);
480     group.add(button);
481     tools.add(button);
482
483     button = new HeavyToggleButton(imgTest33, false);
484     button.setToolTipText(resGui.getString("TT-Test33"));
485     button.setActionCommand("Test33");
486     button.addActionListener(this);
487     button.setMargin(margin);
488     group.add(button);
489     tools.add(button);
490
491     button = new HeavyToggleButton(imgTest34, false);
492     button.setToolTipText(resGui.getString("TT-Test34"));
493     button.setActionCommand("Test34");
494     button.addActionListener(this);
495     button.setMargin(margin);
496     group.add(button);
497     tools.add(button);
498
499     button = new HeavyToggleButton(imgTest35, false);
500     button.setToolTipText(resGui.getString("TT-Test35"));
501     button.setActionCommand("Test35");
502     button.addActionListener(this);
503     button.setMargin(margin);
504     group.add(button);
505     tools.add(button);
506
507     button = new HeavyToggleButton(imgTest36, false);
508     button.setToolTipText(resGui.getString("TT-Test36"));
509     button.setActionCommand("Test36");
510     button.addActionListener(this);
511     button.setMargin(margin);
512     group.add(button);
513     tools.add(button);
514
515     button = new HeavyToggleButton(imgTest37, false);
516     button.setToolTipText(resGui.getString("TT-Test37"));
517     button.setActionCommand("Test37");
518     button.addActionListener(this);
519     button.setMargin(margin);
520     group.add(button);
521     tools.add(button);
522
523     button = new HeavyToggleButton(imgTest38, false);
524     button.setToolTipText(resGui.getString("TT-Test38"));
525     button.setActionCommand("Test38");
526     button.addActionListener(this);
527     button.setMargin(margin);
528     group.add(button);
529     tools.add(button);
530
531     button = new HeavyToggleButton(imgTest39, false);
532     button.setToolTipText(resGui.getString("TT-Test39"));
533     button.setActionCommand("Test39");
534     button.addActionListener(this);
535     button.setMargin(margin);
536     group.add(button);
537     tools.add(button);
538
539     button = new HeavyToggleButton(imgTest40, false);
540     button.setToolTipText(resGui.getString("TT-Test40"));
541     button.setActionCommand("Test40");
542     button.addActionListener(this);
543     button.setMargin(margin);
544     group.add(button);
545     tools.add(button);
546
547     button = new HeavyToggleButton(imgTest41, false);
548     button.setToolTipText(resGui.getString("TT-Test41"));
549     button.setActionCommand("Test41");
550     button.addActionListener(this);
551     button.setMargin(margin);
552     group.add(button);
553     tools.add(button);
554
555     button = new HeavyToggleButton(imgTest42, false);
556     button.setToolTipText(resGui.getString("TT-Test42"));
557     button.setActionCommand("Test42");
558     button.addActionListener(this);
559     button.setMargin(margin);
560     group.add(button);
561     tools.add(button);
562
563     button = new HeavyToggleButton(imgTest43, false);
564     button.setToolTipText(resGui.getString("TT-Test43"));
565     button.setActionCommand("Test43");
566     button.addActionListener(this);
567     button.setMargin(margin);
568     group.add(button);
569     tools.add(button);
570
571     button = new HeavyToggleButton(imgTest44, false);
572     button.setToolTipText(resGui.getString("TT-Test44"));
573     button.setActionCommand("Test44");
574     button.addActionListener(this);
575     button.setMargin(margin);
576     group.add(button);
577     tools.add(button);
578
579     button = new HeavyToggleButton(imgTest45, false);
580     button.setToolTipText(resGui.getString("TT-Test45"));
581     button.setActionCommand("Test45");
582     button.addActionListener(this);
583     button.setMargin(margin);
584     group.add(button);
585     tools.add(button);
586
587     button = new HeavyToggleButton(imgTest46, false);
588     button.setToolTipText(resGui.getString("TT-Test46"));
589     button.setActionCommand("Test46");
590     button.addActionListener(this);
591     button.setMargin(margin);
592     group.add(button);
593     tools.add(button);
594
595     button = new HeavyToggleButton(imgTest47, false);
596     button.setToolTipText(resGui.getString("TT-Test47"));
597     button.setActionCommand("Test47");
598     button.addActionListener(this);
599     button.setMargin(margin);
600     group.add(button);
601     tools.add(button);
602
603     button = new HeavyToggleButton(imgTest48, false);
604     button.setToolTipText(resGui.getString("TT-Test48"));
605     button.setActionCommand("Test48");
606     button.addActionListener(this);
607     button.setMargin(margin);
608     group.add(button);
609     tools.add(button);
610
611     button = new HeavyToggleButton(imgTest49, false);
612     button.setToolTipText(resGui.getString("TT-Test49"));
613     button.setActionCommand("Test49");
614     button.addActionListener(this);
615     button.setMargin(margin);
616     group.add(button);
617     tools.add(button);
618
619     button = new HeavyToggleButton(imgTest50, false);
620     button.setToolTipText(resGui.getString("TT-Test50"));
621     button.setActionCommand("Test50");
622     button.addActionListener(this);
623     button.setMargin(margin);
624     group.add(button);
625     tools.add(button);
626
627     return tools;
628   }
629
630
631 //=======================================================================//
632 //                              Actions                                  //
633 //=======================================================================//
634   public void showView2d()
635   {
636     myView3d.setVisible(false);
637     myView2d.setVisible(true);
638     validate();
639   }
640
641 //-----------------------------------------------------------------------//
642   public void showView3d()
643   {
644     myView2d.setVisible(false);
645     myView3d.setVisible(true);
646     validate();
647   }
648
649 //-----------------------------------------------------------------------//
650   public void showBothView()
651   {
652     myView2d.setVisible(true);
653     myView3d.setVisible(true);
654     validate();
655   }
656
657
658 //-----------------------------------------------------------------------//
659   public void preProcess(int type)
660   {
661     SamplesStarter.put_info("");
662     switch (type)
663     {
664       case BOTH_VIEW:
665         showBothView();
666         break;
667       case ONLY_VIEW2D:
668         showView2d();
669         break;
670       default:
671         showView3d();
672         break;
673     }
674   }
675
676 //-----------------------------------------------------------------------//
677   public String getTitleString(int type)
678   {
679     String mess = new String("Results are ");
680     switch (type)
681     {
682       case BOTH_VIEW:
683         mess += "in both 2D and 3D\n";
684         break;
685       case ONLY_VIEW2D:
686         mess += "only in 2D\n";
687         break;
688       default:
689         mess += "only in 3D\n";
690         break;
691     }
692     mess = mess + "====================================\n\n";
693     return mess;
694   }
695
696 //-----------------------------------------------------------------------//
697   public void postProcess(int type, TCollection_AsciiString message, String title)
698   {
699     postProcess(type, message, title, -1.0);
700   }
701
702   public void postProcess(int type, TCollection_AsciiString message, String title, double zoom)
703   {
704     String text = getTitleString(type);
705     text += message.ToCString().GetValue();
706
707     switch (type)
708     {
709       case BOTH_VIEW:
710         myView3d.getViewPort().FitAll();
711         if (zoom > -1)
712         {
713           V3d_View view3d = ((CASCADEView3d) myView3d.getViewPort()).getView();
714           if (view3d != null)
715             view3d.SetZoom(zoom, true);
716         }
717
718         myView2d.getViewPort().FitAll();
719         myView2d.getViewPort().repaint();
720         myView3d.getViewPort().repaint();
721         traceMessage(text, title);
722         break;
723
724       case ONLY_VIEW2D:
725         myView2d.getViewPort().FitAll();
726         traceMessage(text, title);
727         myView2d.getViewPort().repaint();
728         break;
729         
730       default:
731         myView3d.getViewPort().FitAll();
732         if (zoom > -1)
733         {
734           V3d_View view3d = ((CASCADEView3d) myView3d.getViewPort()).getView();
735           if (view3d != null)
736             view3d.SetZoom(zoom, true);
737         }
738         traceMessage(text, title);
739         myView3d.getViewPort().repaint();
740         break;
741     }
742   }
743
744 //=======================================================================//
745 // Tests
746 //=======================================================================//
747   public void gpTest1()
748   {
749     int type = ONLY_VIEW3D;
750     preProcess(type);
751
752     TCollection_AsciiString message = new TCollection_AsciiString();
753     SampleGeometryPackage.gpTest1(myAISContext, message);
754
755     postProcess(type, message, resGui.getString("Dlg-Test1"));
756   }
757
758 //=======================================================================//
759   public void gpTest2()
760   {
761     int type = ONLY_VIEW3D;
762     preProcess(type);
763
764     TCollection_AsciiString message = new TCollection_AsciiString();
765     SampleGeometryPackage.gpTest2(myAISContext, message);
766
767     postProcess(type, message, resGui.getString("Dlg-Test2"), 0.002);
768   }
769
770 //=======================================================================//
771   public void gpTest3()
772   {
773     int type = ONLY_VIEW3D;
774     preProcess(type);
775
776     TCollection_AsciiString message = new TCollection_AsciiString();
777     SampleGeometryPackage.gpTest3(myAISContext, message);
778
779     postProcess(type, message, resGui.getString("Dlg-Test3"), 0.02);
780   }
781
782 //=======================================================================//
783   public void gpTest4()
784   {
785     int type = ONLY_VIEW3D;
786     preProcess(type);
787
788     TCollection_AsciiString message = new TCollection_AsciiString();
789     SampleGeometryPackage.gpTest4(myAISContext, message);
790
791     postProcess(type, message, resGui.getString("Dlg-Test4"), 0.02);
792   }
793
794 //=======================================================================//
795   public void gpTest5()
796   {
797     int type = ONLY_VIEW3D;
798     preProcess(type);
799
800     TCollection_AsciiString message = new TCollection_AsciiString();
801     SampleGeometryPackage.gpTest5(myAISContext, message);
802
803     postProcess(type, message, resGui.getString("Dlg-Test5"));
804   }
805
806 //=======================================================================//
807   public void gpTest6()
808   {
809     int type = ONLY_VIEW3D;
810     preProcess(type);
811
812     TCollection_AsciiString message = new TCollection_AsciiString();
813     SampleGeometryPackage.gpTest6(myAISContext, message);
814
815     postProcess(type, message, resGui.getString("Dlg-Test6"));
816   }
817
818 //=======================================================================//
819   public void gpTest7()
820   {
821     int type = ONLY_VIEW2D;
822     preProcess(type);
823
824     TCollection_AsciiString message = new TCollection_AsciiString();
825     SampleGeometryPackage.gpTest7(myInteractiveContext, message);
826
827     postProcess(type, message, resGui.getString("Dlg-Test7"));
828   }
829
830 //=======================================================================//
831   public void gpTest8()
832   {
833     int type = ONLY_VIEW2D;
834     preProcess(type);
835
836     TCollection_AsciiString message = new TCollection_AsciiString();
837     SampleGeometryPackage.gpTest8(myInteractiveContext, message);
838
839     postProcess(type, message, resGui.getString("Dlg-Test8"));
840   }
841
842 //=======================================================================//
843   public void gpTest9()
844   {
845     int type = ONLY_VIEW2D;
846     preProcess(type);
847
848     TCollection_AsciiString message = new TCollection_AsciiString();
849     SampleGeometryPackage.gpTest9(myInteractiveContext, message);
850
851     postProcess(type, message, resGui.getString("Dlg-Test9"));
852   }
853
854 //=======================================================================//
855   public void gpTest10()
856   {
857     int type = ONLY_VIEW2D;
858     preProcess(type);
859
860     TCollection_AsciiString message = new TCollection_AsciiString();
861     SampleGeometryPackage.gpTest10(myInteractiveContext, message);
862
863     postProcess(type, message, resGui.getString("Dlg-Test10"));
864   }
865
866 //=======================================================================//
867   public void gpTest11()
868   {
869     int type = ONLY_VIEW3D;
870     preProcess(type);
871
872     TCollection_AsciiString message = new TCollection_AsciiString();
873     SampleGeometryPackage.gpTest11(myAISContext, message);
874
875     postProcess(type, message, resGui.getString("Dlg-Test11"));
876   }
877
878 //=======================================================================//
879   public void gpTest12()
880   {
881     int type = ONLY_VIEW3D;
882     preProcess(type);
883
884     TCollection_AsciiString message = new TCollection_AsciiString();
885     SampleGeometryPackage.gpTest12(myAISContext, message);
886
887     postProcess(type, message, resGui.getString("Dlg-Test12"));
888   }
889
890 //=======================================================================//
891   public void gpTest13()
892   {
893     int type = ONLY_VIEW3D;
894     preProcess(type);
895
896     TCollection_AsciiString message = new TCollection_AsciiString();
897     SampleGeometryPackage.gpTest13(myAISContext, message);
898
899     postProcess(type, message, resGui.getString("Dlg-Test13"));
900   }
901
902 //=======================================================================//
903   public void gpTest14()
904   {
905     int type = ONLY_VIEW3D;
906     preProcess(type);
907
908     TCollection_AsciiString message = new TCollection_AsciiString();
909     SampleGeometryPackage.gpTest14(myAISContext, message);
910
911     postProcess(type, message, resGui.getString("Dlg-Test14"));
912   }
913
914 //=======================================================================//
915   public void gpTest15()
916   {
917     int type = ONLY_VIEW3D;
918     preProcess(type);
919
920     TCollection_AsciiString message = new TCollection_AsciiString();
921     SampleGeometryPackage.gpTest15(myAISContext, message);
922
923     postProcess(type, message, resGui.getString("Dlg-Test15"));
924   }
925
926 //=======================================================================//
927   public void gpTest16()
928   {
929     int type = ONLY_VIEW3D;
930     preProcess(type);
931
932     TCollection_AsciiString message = new TCollection_AsciiString();
933     SampleGeometryPackage.gpTest16(myAISContext, message);
934
935     postProcess(type, message, resGui.getString("Dlg-Test16"));
936   }
937
938 //=======================================================================//
939   public void gpTest17()
940   {
941     int type = ONLY_VIEW3D;
942     preProcess(type);
943
944     TCollection_AsciiString message = new TCollection_AsciiString();
945     SampleGeometryPackage.gpTest17(myAISContext, message);
946
947     postProcess(type, message, resGui.getString("Dlg-Test17"));
948   }
949
950 //=======================================================================//
951   public void gpTest18()
952   {
953     int type = ONLY_VIEW2D;
954     preProcess(type);
955
956     TCollection_AsciiString message = new TCollection_AsciiString();
957     SampleGeometryPackage.gpTest18(myInteractiveContext, message);
958
959     postProcess(type, message, resGui.getString("Dlg-Test18"));
960   }
961
962 //=======================================================================//
963   public void gpTest19()
964   {
965     int type = ONLY_VIEW3D;
966     preProcess(type);
967
968     TCollection_AsciiString message = new TCollection_AsciiString();
969     SampleGeometryPackage.gpTest19(myAISContext, message);
970
971     postProcess(type, message, resGui.getString("Dlg-Test19"));
972   }
973
974 //=======================================================================//
975   public void gpTest20()
976   {
977     int type = ONLY_VIEW2D;
978     preProcess(type);
979
980     TCollection_AsciiString message = new TCollection_AsciiString();
981     SampleGeometryPackage.gpTest20(myInteractiveContext, message);
982
983     postProcess(type, message, resGui.getString("Dlg-Test20"));
984   }
985
986 //=======================================================================//
987   public void gpTest21()
988   {
989     int type = ONLY_VIEW2D;
990     preProcess(type);
991
992     TCollection_AsciiString message = new TCollection_AsciiString();
993     SampleGeometryPackage.gpTest21(myInteractiveContext, message);
994
995     postProcess(type, message, resGui.getString("Dlg-Test21"));
996   }
997
998 //=======================================================================//
999   public void gpTest22()
1000   {
1001     int type = ONLY_VIEW2D;
1002     preProcess(type);
1003
1004     TCollection_AsciiString message = new TCollection_AsciiString();
1005     SampleGeometryPackage.gpTest22(myInteractiveContext, message);
1006
1007     postProcess(type, message, resGui.getString("Dlg-Test22"));
1008   }
1009
1010 //=======================================================================//
1011   public void gpTest23()
1012   {
1013     int type = ONLY_VIEW2D;
1014     preProcess(type);
1015
1016     TCollection_AsciiString message = new TCollection_AsciiString();
1017     SampleGeometryPackage.gpTest23(myInteractiveContext, message);
1018
1019     postProcess(type, message, resGui.getString("Dlg-Test23"));
1020   }
1021
1022 //=======================================================================//
1023   public void gpTest24()
1024   {
1025     int type = BOTH_VIEW;
1026     preProcess(type);
1027
1028     TCollection_AsciiString message = new TCollection_AsciiString();
1029     SampleGeometryPackage.gpTest24(myAISContext, myInteractiveContext, message);
1030
1031     postProcess(type, message, resGui.getString("Dlg-Test24"));
1032   }
1033
1034 //=======================================================================//
1035   public void gpTest25()
1036   {
1037     int type = ONLY_VIEW2D;
1038     preProcess(type);
1039
1040     TCollection_AsciiString message = new TCollection_AsciiString();
1041     SampleGeometryPackage.gpTest25(myInteractiveContext, message);
1042
1043     postProcess(type, message, resGui.getString("Dlg-Test25"));
1044   }
1045
1046 //=======================================================================//
1047   public void gpTest26()
1048   {
1049     int type = ONLY_VIEW2D;
1050     preProcess(type);
1051
1052     TCollection_AsciiString message = new TCollection_AsciiString();
1053     SampleGeometryPackage.gpTest26(myInteractiveContext, message);
1054
1055     postProcess(type, message, resGui.getString("Dlg-Test26"));
1056   }
1057
1058 //=======================================================================//
1059   public void gpTest27()
1060   {
1061     int type = ONLY_VIEW2D;
1062     preProcess(type);
1063
1064     TCollection_AsciiString message = new TCollection_AsciiString();
1065     SampleGeometryPackage.gpTest27(myInteractiveContext, message);
1066
1067     postProcess(type, message, resGui.getString("Dlg-Test27"));
1068   }
1069
1070 //=======================================================================//
1071   public void gpTest28()
1072   {
1073     int type = ONLY_VIEW2D;
1074     preProcess(type);
1075
1076     TCollection_AsciiString message = new TCollection_AsciiString();
1077     SampleGeometryPackage.gpTest28(myInteractiveContext, message);
1078
1079     postProcess(type, message, resGui.getString("Dlg-Test28"));
1080   }
1081
1082 //=======================================================================//
1083   public void gpTest29()
1084   {
1085     int type = ONLY_VIEW2D;
1086     preProcess(type);
1087
1088     TCollection_AsciiString message = new TCollection_AsciiString();
1089     SampleGeometryPackage.gpTest29(myInteractiveContext, message);
1090
1091     postProcess(type, message, resGui.getString("Dlg-Test29"));
1092   }
1093
1094 //=======================================================================//
1095   public void gpTest30()
1096   {
1097     int type = ONLY_VIEW2D;
1098     preProcess(type);
1099
1100     TCollection_AsciiString message = new TCollection_AsciiString();
1101     SampleGeometryPackage.gpTest30(myInteractiveContext, message);
1102
1103     postProcess(type, message, resGui.getString("Dlg-Test30"));
1104   }
1105
1106 //=======================================================================//
1107   public void gpTest31()
1108   {
1109     int type = ONLY_VIEW2D;
1110     preProcess(type);
1111
1112     TCollection_AsciiString message = new TCollection_AsciiString();
1113     SampleGeometryPackage.gpTest31(myInteractiveContext, message);
1114
1115     postProcess(type, message, resGui.getString("Dlg-Test31"));
1116   }
1117
1118 //=======================================================================//
1119   public void gpTest32()
1120   {
1121     int type = ONLY_VIEW2D;
1122     preProcess(type);
1123
1124     TCollection_AsciiString message = new TCollection_AsciiString();
1125     SampleGeometryPackage.gpTest32(myInteractiveContext, message);
1126
1127     postProcess(type, message, resGui.getString("Dlg-Test32"));
1128   }
1129
1130 //=======================================================================//
1131   public void gpTest33()
1132   {
1133     int type = ONLY_VIEW3D;
1134     preProcess(type);
1135
1136     TCollection_AsciiString message = new TCollection_AsciiString();
1137     SampleGeometryPackage.gpTest33(myAISContext, message);
1138
1139     postProcess(type, message, resGui.getString("Dlg-Test33"));
1140   }
1141
1142 //=======================================================================//
1143   public void gpTest34()
1144   {
1145     int type = ONLY_VIEW3D;
1146     preProcess(type);
1147
1148     TCollection_AsciiString message = new TCollection_AsciiString();
1149     SampleGeometryPackage.gpTest34(myAISContext, message);
1150
1151     postProcess(type, message, resGui.getString("Dlg-Test34"));
1152   }
1153
1154 //=======================================================================//
1155   public void gpTest35()
1156   {
1157     int type = ONLY_VIEW3D;
1158     preProcess(type);
1159
1160     TCollection_AsciiString message = new TCollection_AsciiString();
1161     SampleGeometryPackage.gpTest35(myAISContext, message);
1162
1163     postProcess(type, message, resGui.getString("Dlg-Test35"));
1164   }
1165
1166 //=======================================================================//
1167   public void gpTest36()
1168   {
1169     int type = ONLY_VIEW3D;
1170     preProcess(type);
1171
1172     TCollection_AsciiString message = new TCollection_AsciiString();
1173     SampleGeometryPackage.gpTest36(myAISContext, message);
1174
1175     postProcess(type, message, resGui.getString("Dlg-Test36"));
1176   }
1177
1178 //=======================================================================//
1179   public void gpTest37()
1180   {
1181     int type = ONLY_VIEW3D;
1182     preProcess(type);
1183
1184     TCollection_AsciiString message = new TCollection_AsciiString();
1185     SampleGeometryPackage.gpTest37(myAISContext, message);
1186
1187     postProcess(type, message, resGui.getString("Dlg-Test37"));
1188   }
1189
1190 //=======================================================================//
1191   public void gpTest38()
1192   {
1193     int type = ONLY_VIEW3D;
1194     preProcess(type);
1195
1196     TCollection_AsciiString message = new TCollection_AsciiString();
1197     SampleGeometryPackage.gpTest38(myAISContext, message);
1198
1199     postProcess(type, message, resGui.getString("Dlg-Test38"));
1200   }
1201
1202 //=======================================================================//
1203   public void gpTest39()
1204   {
1205     int type = ONLY_VIEW3D;
1206     preProcess(type);
1207
1208     TCollection_AsciiString message = new TCollection_AsciiString();
1209     SampleGeometryPackage.gpTest39(myAISContext, message);
1210
1211     postProcess(type, message, resGui.getString("Dlg-Test39"));
1212   }
1213
1214 //=======================================================================//
1215   public void gpTest40()
1216   {
1217     int type = ONLY_VIEW3D;
1218     preProcess(type);
1219
1220     TCollection_AsciiString message = new TCollection_AsciiString();
1221     SampleGeometryPackage.gpTest40(myAISContext, message);
1222
1223     postProcess(type, message, resGui.getString("Dlg-Test40"));
1224   }
1225
1226 //=======================================================================//
1227   public void gpTest41()
1228   {
1229     int type = ONLY_VIEW3D;
1230     preProcess(type);
1231
1232     TCollection_AsciiString message = new TCollection_AsciiString();
1233     SampleGeometryPackage.gpTest41(myAISContext, message);
1234
1235     postProcess(type, message, resGui.getString("Dlg-Test41"));
1236   }
1237
1238 //=======================================================================//
1239   public void gpTest42()
1240   {
1241     int type = ONLY_VIEW3D;
1242     preProcess(type);
1243
1244     TCollection_AsciiString message = new TCollection_AsciiString();
1245     SampleGeometryPackage.gpTest42(myAISContext, message);
1246
1247     postProcess(type, message, resGui.getString("Dlg-Test42"));
1248   }
1249
1250 //=======================================================================//
1251   public void gpTest43()
1252   {
1253     int type = ONLY_VIEW3D;
1254     preProcess(type);
1255
1256     TCollection_AsciiString message = new TCollection_AsciiString();
1257     SampleGeometryPackage.gpTest43(myAISContext, message);
1258
1259     postProcess(type, message, resGui.getString("Dlg-Test43"));
1260   }
1261
1262 //=======================================================================//
1263   public void gpTest44()
1264   {
1265     int type = ONLY_VIEW3D;
1266     preProcess(type);
1267
1268     TCollection_AsciiString message = new TCollection_AsciiString();
1269     SampleGeometryPackage.gpTest44(myAISContext, message);
1270
1271     postProcess(type, message, resGui.getString("Dlg-Test44"));
1272   }
1273
1274 //=======================================================================//
1275   public void gpTest45()
1276   {
1277     int type = ONLY_VIEW3D;
1278     preProcess(type);
1279
1280     TCollection_AsciiString message = new TCollection_AsciiString();
1281     SampleGeometryPackage.gpTest45(myAISContext, message);
1282
1283     postProcess(type, message, resGui.getString("Dlg-Test45"));
1284   }
1285
1286 //=======================================================================//
1287   public void gpTest46()
1288   {
1289     int type = ONLY_VIEW3D;
1290     preProcess(type);
1291
1292     TCollection_AsciiString message = new TCollection_AsciiString();
1293     SampleGeometryPackage.gpTest46(myAISContext, message);
1294
1295     postProcess(type, message, resGui.getString("Dlg-Test46"));
1296   }
1297
1298 //=======================================================================//
1299   public void gpTest47()
1300   {
1301     int type = ONLY_VIEW3D;
1302     preProcess(type);
1303
1304     TCollection_AsciiString message = new TCollection_AsciiString();
1305     SampleGeometryPackage.gpTest47(myAISContext, message);
1306
1307     postProcess(type, message, resGui.getString("Dlg-Test47"));
1308   }
1309
1310 //=======================================================================//
1311   public void gpTest48()
1312   {
1313     int type = ONLY_VIEW2D;
1314     preProcess(type);
1315
1316     TCollection_AsciiString message = new TCollection_AsciiString();
1317     SampleGeometryPackage.gpTest48(myInteractiveContext, message);
1318
1319     postProcess(type, message, resGui.getString("Dlg-Test48"));
1320   }
1321
1322 //=======================================================================//
1323   public void gpTest49()
1324   {
1325     int type = ONLY_VIEW3D;
1326     preProcess(type);
1327
1328     TCollection_AsciiString message = new TCollection_AsciiString();
1329     SampleGeometryPackage.gpTest49(myAISContext, message);
1330
1331     postProcess(type, message, resGui.getString("Dlg-Test49"));
1332   }
1333
1334 //=======================================================================//
1335   public void gpTest50()
1336   {
1337     int type = ONLY_VIEW3D;
1338     preProcess(type);
1339
1340     TCollection_AsciiString message = new TCollection_AsciiString();
1341     SampleGeometryPackage.gpTest50(myAISContext, message);
1342
1343     postProcess(type, message, resGui.getString("Dlg-Test50"));
1344   }
1345
1346
1347 //=======================================================================//
1348 // ActionListener interface
1349 //=======================================================================//
1350   public void actionPerformed(ActionEvent e)
1351   {
1352     String command = e.getActionCommand();
1353
1354     if (command.equals("Test1")) gpTest1();
1355     else if (command.equals("Test2")) gpTest2();
1356     else if (command.equals("Test3")) gpTest3();
1357     else if (command.equals("Test4")) gpTest4();
1358     else if (command.equals("Test5")) gpTest5();
1359     else if (command.equals("Test6")) gpTest6();
1360     else if (command.equals("Test7")) gpTest7();
1361     else if (command.equals("Test8")) gpTest8();
1362     else if (command.equals("Test9")) gpTest9();
1363     else if (command.equals("Test10")) gpTest10();
1364     else if (command.equals("Test11")) gpTest11();
1365     else if (command.equals("Test12")) gpTest12();
1366     else if (command.equals("Test13")) gpTest13();
1367     else if (command.equals("Test14")) gpTest14();
1368     else if (command.equals("Test15")) gpTest15();
1369     else if (command.equals("Test16")) gpTest16();
1370     else if (command.equals("Test17")) gpTest17();
1371     else if (command.equals("Test18")) gpTest18();
1372     else if (command.equals("Test19")) gpTest19();
1373     else if (command.equals("Test20")) gpTest20();
1374     else if (command.equals("Test21")) gpTest21();
1375     else if (command.equals("Test22")) gpTest22();
1376     else if (command.equals("Test23")) gpTest23();
1377     else if (command.equals("Test24")) gpTest24();
1378     else if (command.equals("Test25")) gpTest25();
1379     else if (command.equals("Test26")) gpTest26();
1380     else if (command.equals("Test27")) gpTest27();
1381     else if (command.equals("Test28")) gpTest28();
1382     else if (command.equals("Test29")) gpTest29();
1383     else if (command.equals("Test30")) gpTest30();
1384     else if (command.equals("Test31")) gpTest31();
1385     else if (command.equals("Test32")) gpTest32();
1386     else if (command.equals("Test33")) gpTest33();
1387     else if (command.equals("Test34")) gpTest34();
1388     else if (command.equals("Test35")) gpTest35();
1389     else if (command.equals("Test36")) gpTest36();
1390     else if (command.equals("Test37")) gpTest37();
1391     else if (command.equals("Test38")) gpTest38();
1392     else if (command.equals("Test39")) gpTest39();
1393     else if (command.equals("Test40")) gpTest40();
1394     else if (command.equals("Test41")) gpTest41();
1395     else if (command.equals("Test42")) gpTest42();
1396     else if (command.equals("Test43")) gpTest43();
1397     else if (command.equals("Test44")) gpTest44();
1398     else if (command.equals("Test45")) gpTest45();
1399     else if (command.equals("Test46")) gpTest46();
1400     else if (command.equals("Test47")) gpTest47();
1401     else if (command.equals("Test48")) gpTest48();
1402     else if (command.equals("Test49")) gpTest49();
1403     else if (command.equals("Test50")) gpTest50();
1404   }
1405
1406 //=======================================================================//
1407 // MouseListener interface
1408 //=======================================================================//
1409   public void mouseClicked(MouseEvent e)
1410   {
1411   }
1412
1413   public void mousePressed(MouseEvent e)
1414   {
1415     if (SwingUtilities.isLeftMouseButton(e))
1416     {
1417       startX = e.getX();
1418       startY = e.getY();
1419       Object src = e.getSource();
1420
1421       if (src == myView3d)
1422       {
1423         V3d_View view3d = ((CASCADEView3d) myView3d.getViewPort()).getView();
1424         if (view3d != null)
1425           myAISContext.MoveTo(startX, startY, view3d);
1426       }
1427       if (src == myView2d)
1428       {
1429         V2d_View view2d = ((CASCADEView2d) myView2d.getViewPort()).getView();
1430         if (view2d != null)
1431           myInteractiveContext.Move(startX, startY, view2d);
1432       }
1433     }
1434     else if (SwingUtilities.isRightMouseButton(e))
1435     {
1436       if (e.getSource() == myView3d)
1437       {
1438         PopupMenu defPopup = myView3d.getDefaultPopup();
1439         myView3d.add(defPopup);
1440         defPopup.show(myView3d, e.getX(), e.getY() + 30);
1441       }
1442     }
1443   }
1444
1445   public void mouseReleased(MouseEvent e)
1446   {
1447     if (SwingUtilities.isLeftMouseButton(e))
1448     {
1449       Object src = e.getSource();
1450
1451       if (Dragged)
1452       {
1453         if (src == myView3d)
1454         {
1455           V3d_View view3d = ((CASCADEView3d) myView3d.getViewPort()).getView();
1456           if (view3d != null)
1457           {
1458             if (e.isShiftDown())
1459               myAISContext.ShiftSelect(startX, startY, e.getX(), e.getY(), view3d, true);
1460             else
1461               myAISContext.Select(startX, startY, e.getX(), e.getY(), view3d, true);
1462           }
1463         }
1464         if (src == myView3d)
1465         {
1466           V2d_View view2d = ((CASCADEView2d) myView2d.getViewPort()).getView();
1467           if (view2d != null)
1468           {
1469             myInteractiveContext.Move(startX, startY, e.getX(), e.getY(), view2d);
1470             myInteractiveContext.Pick(e.isShiftDown());
1471           }
1472         }
1473       }
1474       else
1475       {
1476         if (src == myView3d)
1477         {
1478           if (e.isShiftDown())
1479             myAISContext.ShiftSelect(true);
1480           else
1481             myAISContext.Select(true);
1482         }
1483         if (src == myView2d)
1484         {
1485           myInteractiveContext.Pick(e.isShiftDown());
1486         }
1487       }
1488       Dragged = false;
1489     }
1490   }
1491
1492   public void mouseEntered(MouseEvent e)
1493   {
1494   }
1495
1496   public void mouseExited(MouseEvent e)
1497   {
1498   }
1499
1500 //=======================================================================//
1501 // MouseMotionListener interface
1502 //=======================================================================//
1503   public void mouseDragged(MouseEvent e)
1504   {
1505     if (SwingUtilities.isLeftMouseButton(e))
1506       Dragged = true;
1507   }
1508
1509   public void mouseMoved(MouseEvent e)
1510   {
1511     Object src = e.getSource();
1512
1513     if (src == myView3d)
1514     {
1515       V3d_View view3d = ((CASCADEView3d) myView3d.getViewPort()).getView();
1516       if (myAISContext != null && view3d != null)
1517         myAISContext.MoveTo(e.getX(), e.getY(), view3d);
1518     }
1519     if (src == myView2d)
1520     {
1521       V2d_View view2d = ((CASCADEView2d) myView2d.getViewPort()).getView();
1522       if (myInteractiveContext != null && view2d != null)
1523         myInteractiveContext.Move(e.getX(), e.getY(), view2d);
1524     }
1525   }
1526
1527
1528 }
1529