314
345
m_winMenu = new JPopupMenu();
315
m_topN = new JMenuItem("Center on Top Node"); //note to change
346
m_topN = new JMenuItem(Messages.getInstance().getString("TreeVisualizer_TopN_JMenuItem_Text_First")); //note to change
316
347
//language change this line
317
m_topN.setActionCommand("Center on Top Node"); //but not this one,
348
m_topN.setActionCommand(Messages.getInstance().getString("TreeVisualizer_TopN_JMenuItem_SetActionCommand_Text_First")); //but not this one,
318
349
//same for all menu items
319
m_fitToScreen = new JMenuItem("Fit to Screen");
320
m_fitToScreen.setActionCommand("Fit to Screen");
350
m_fitToScreen = new JMenuItem(Messages.getInstance().getString("TreeVisualizer_FitToScreen_JMenuItem_Text_First"));
351
m_fitToScreen.setActionCommand(Messages.getInstance().getString("TreeVisualizer_FitToScreen_JMenuItem_SetActionCommand_Text_First"));
321
352
//unhide = new JMenuItem("Unhide all Nodes");
322
m_selectFont = new JMenu("Select Font");
323
m_selectFont.setActionCommand("Select Font");
324
m_autoScale = new JMenuItem("Auto Scale");
325
m_autoScale.setActionCommand("Auto Scale");
353
m_selectFont = new JMenu(Messages.getInstance().getString("TreeVisualizer_SelectFont_JMenu_Text_First"));
354
m_selectFont.setActionCommand(Messages.getInstance().getString("TreeVisualizer_SelectFont_JMenu_SetActionCommand_Text_First"));
355
m_autoScale = new JMenuItem(Messages.getInstance().getString("TreeVisualizer_AutoScale_JMenuItem_Text_First"));
356
m_autoScale.setActionCommand(Messages.getInstance().getString("TreeVisualizer_AutoScale_JMenuItem_SetActionCommand_Text_First"));
326
357
m_selectFontGroup = new ButtonGroup();
328
m_accept = new JMenuItem("Accept The Tree");
329
m_accept.setActionCommand("Accept The Tree");
359
m_accept = new JMenuItem(Messages.getInstance().getString("TreeVisualizer_Accept_JMenuItem_Text_First"));
360
m_accept.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Accept_JMenuItem_SetActionCommand_Text_First"));
331
362
m_winMenu.add(m_topN);
332
363
m_winMenu.addSeparator();
333
364
m_winMenu.add(m_fitToScreen);
334
365
m_winMenu.add(m_autoScale);
335
m_winMenu.addSeparator();
366
//m_winMenu.addSeparator();
336
367
//m_winMenu.add(unhide);
337
368
m_winMenu.addSeparator();
338
369
m_winMenu.add(m_selectFont);
339
m_winMenu.addSeparator();
341
371
if (m_listener != null) {
372
m_winMenu.addSeparator();
342
373
m_winMenu.add(m_accept);
348
379
m_autoScale.addActionListener(this);
349
380
m_accept.addActionListener(this);
351
m_size24 = new JRadioButtonMenuItem("Size 24",false);//,select_font_group);
352
m_size22 = new JRadioButtonMenuItem("Size 22",false);//,select_font_group);
353
m_size20 = new JRadioButtonMenuItem("Size 20",false);//,select_font_group);
354
m_size18 = new JRadioButtonMenuItem("Size 18",false);//,select_font_group);
355
m_size16 = new JRadioButtonMenuItem("Size 16",false);//,select_font_group);
356
m_size14 = new JRadioButtonMenuItem("Size 14",false);//,select_font_group);
357
m_size12 = new JRadioButtonMenuItem("Size 12",true);//,select_font_group);
358
m_size10 = new JRadioButtonMenuItem("Size 10",false);//,select_font_group);
359
m_size8 = new JRadioButtonMenuItem("Size 8",false);//,select_font_group);
360
m_size6 = new JRadioButtonMenuItem("Size 6",false);//,select_font_group);
361
m_size4 = new JRadioButtonMenuItem("Size 4",false);//,select_font_group);
362
m_size2 = new JRadioButtonMenuItem("Size 2",false);//,select_font_group);
363
m_size1 = new JRadioButtonMenuItem("Size 1",false);//,select_font_group);
382
m_size24 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_Size24_Text_First"),false);//,select_font_group);
383
m_size22 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_Size22_Text_First"),false);//,select_font_group);
384
m_size20 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_Size20_Text_First"),false);//,select_font_group);
385
m_size18 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_Size18_Text_First"),false);//,select_font_group);
386
m_size16 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_Size16_Text_First"),false);//,select_font_group);
387
m_size14 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_Size14_Text_First"),false);//,select_font_group);
388
m_size12 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_Size12_Text_First"),true);//,select_font_group);
389
m_size10 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_Size10_Text_First"),false);//,select_font_group);
390
m_size8 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_Size8_Text_First"),false);//,select_font_group);
391
m_size6 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_Size6_Text_First"),false);//,select_font_group);
392
m_size4 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_Size4_Text_First"),false);//,select_font_group);
393
m_size2 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_Size2_Text_First"),false);//,select_font_group);
394
m_size1 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_Size1_Text_First"),false);//,select_font_group);
365
m_size24.setActionCommand("Size 24");//,select_font_group);
366
m_size22.setActionCommand("Size 22");//,select_font_group);
367
m_size20.setActionCommand("Size 20");//,select_font_group);
368
m_size18.setActionCommand("Size 18");//,select_font_group);
369
m_size16.setActionCommand("Size 16");//,select_font_group);
370
m_size14.setActionCommand("Size 14");//,select_font_group);
371
m_size12.setActionCommand("Size 12");//,select_font_group);
372
m_size10.setActionCommand("Size 10");//,select_font_group);
373
m_size8.setActionCommand("Size 8");//,select_font_group);
374
m_size6.setActionCommand("Size 6");//,select_font_group);
375
m_size4.setActionCommand("Size 4");//,select_font_group);
376
m_size2.setActionCommand("Size 2");//,select_font_group);
377
m_size1.setActionCommand("Size 1");//,select_font_group);
396
m_size24.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size24_Text_First"));//,select_font_group);
397
m_size22.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size22_Text_First"));//,select_font_group);
398
m_size20.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size20_Text_First"));//,select_font_group);
399
m_size18.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size18_Text_First"));//,select_font_group);
400
m_size16.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size16_Text_First"));//,select_font_group);
401
m_size14.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size14_Text_First"));//,select_font_group);
402
m_size12.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size12_Text_First"));//,select_font_group);
403
m_size10.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size10_Text_First"));//,select_font_group);
404
m_size8.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size8_Text_First"));//,select_font_group);
405
m_size6.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size6_Text_First"));//,select_font_group);
406
m_size4.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size4_Text_First"));//,select_font_group);
407
m_size2.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size2_Text_First"));//,select_font_group);
408
m_size1.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size1_Text_First"));//,select_font_group);
380
411
m_selectFontGroup.add(m_size24);
447
478
m_nodeMenu = new JPopupMenu();
448
479
/* A visualize choice for the node, may not be available. */
449
m_visualise = new JMenuItem("Visualize The Node");
450
m_visualise.setActionCommand("Visualize The Node");
480
m_visualise = new JMenuItem(Messages.getInstance().getString("TreeVisualizer_Visualise_JMenuItem_Text_First"));
481
m_visualise.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Visualise_JMenuItem_SetActionCommand_Text_First"));
451
482
m_visualise.addActionListener(this);
452
483
m_nodeMenu.add(m_visualise);
454
485
if (m_listener != null) {
455
m_remChildren = new JMenuItem("Remove Child Nodes");
456
m_remChildren.setActionCommand("Remove Child Nodes");
486
m_remChildren = new JMenuItem(Messages.getInstance().getString("TreeVisualizer_RemChildren_JMenuItem_Text_First"));
487
m_remChildren.setActionCommand(Messages.getInstance().getString("TreeVisualizer_RemChildren_JMenuItem_SetActionCommand_Text_First"));
457
488
m_remChildren.addActionListener(this);
458
489
m_nodeMenu.add(m_remChildren);
461
m_classifyChild = new JMenuItem("Use Classifier...");
462
m_classifyChild.setActionCommand("classify_child");
492
m_classifyChild = new JMenuItem(Messages.getInstance().getString("TreeVisualizer_ClassifyChild_JMenuItem_Text_First"));
493
m_classifyChild.setActionCommand(Messages.getInstance().getString("TreeVisualizer_ClassifyChild_JMenuItem_SetActionCommand_Text_First"));
463
494
m_classifyChild.addActionListener(this);
464
495
m_nodeMenu.add(m_classifyChild);
525
559
m_newMousePos = new Dimension(0, 0);
526
560
m_frameLimiter = new Timer(120, this);
532
562
m_winMenu = new JPopupMenu();
533
m_topN = new JMenuItem("Center on Top Node"); //note to change
563
m_topN = new JMenuItem(Messages.getInstance().getString("TreeVisualizer_TopN_JMenuItem_Text_Second")); //note to change
534
564
//language change this line
535
m_topN.setActionCommand("Center on Top Node"); //but not this
565
m_topN.setActionCommand(Messages.getInstance().getString("TreeVisualizer_TopN_JMenuItem_SetActionCommand_Text_Second")); //but not this
536
566
//one, same for all menu items
537
m_fitToScreen = new JMenuItem("Fit to Screen");
538
m_fitToScreen.setActionCommand("Fit to Screen");
567
m_fitToScreen = new JMenuItem(Messages.getInstance().getString("TreeVisualizer_FitToScreen_JMenuItem_Text_Second"));
568
m_fitToScreen.setActionCommand(Messages.getInstance().getString("TreeVisualizer_FitToScreen_JMenuItem_SetActionCommand_Text_Second"));
539
569
//unhide = new JMenuItem("Unhide all Nodes");
540
m_selectFont = new JMenu("Select Font");
541
m_selectFont.setActionCommand("Select Font");
542
m_autoScale = new JMenuItem("Auto Scale");
543
m_autoScale.setActionCommand("Auto Scale");
570
m_selectFont = new JMenu(Messages.getInstance().getString("TreeVisualizer_SelectFont_JMenu_Text_Second"));
571
m_selectFont.setActionCommand(Messages.getInstance().getString("TreeVisualizer_SelectFont_JMenu_SetActionCommand_Text_Second"));
572
m_autoScale = new JMenuItem(Messages.getInstance().getString("TreeVisualizer_AutoScale_JMenuItem_Text_Second"));
573
m_autoScale.setActionCommand(Messages.getInstance().getString("TreeVisualizer_AutoScale_JMenuItem_SetActionCommand_Text_Second"));
544
574
m_selectFontGroup = new ButtonGroup();
546
m_accept = new JMenuItem("Accept The Tree");
547
m_accept.setActionCommand("Accept The Tree");
576
m_accept = new JMenuItem(Messages.getInstance().getString("TreeVisualizer_Accept_JMenuItem_Text_Second"));
577
m_accept.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Accept_JMenuItem_SetActionCommand_Text_Second"));
549
579
m_winMenu.add(m_topN);
550
580
m_winMenu.addSeparator();
566
596
m_autoScale.addActionListener(this);
567
597
m_accept.addActionListener(this);
569
m_size24 = new JRadioButtonMenuItem("Size 24",false);//,select_font_group);
570
m_size22 = new JRadioButtonMenuItem("Size 22",false);//,select_font_group);
571
m_size20 = new JRadioButtonMenuItem("Size 20",false);//,select_font_group);
572
m_size18 = new JRadioButtonMenuItem("Size 18",false);//,select_font_group);
573
m_size16 = new JRadioButtonMenuItem("Size 16",false);//,select_font_group);
574
m_size14 = new JRadioButtonMenuItem("Size 14",false);//,select_font_group);
575
m_size12 = new JRadioButtonMenuItem("Size 12",true);//,select_font_group);
576
m_size10 = new JRadioButtonMenuItem("Size 10",false);//,select_font_group);
577
m_size8 = new JRadioButtonMenuItem("Size 8",false);//,select_font_group);
578
m_size6 = new JRadioButtonMenuItem("Size 6",false);//,select_font_group);
579
m_size4 = new JRadioButtonMenuItem("Size 4",false);//,select_font_group);
580
m_size2 = new JRadioButtonMenuItem("Size 2",false);//,select_font_group);
581
m_size1 = new JRadioButtonMenuItem("Size 1",false);//,select_font_group);
599
m_size24 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size24_JRadioButtonMenuItem_Size24_Text_Second"),false);//,select_font_group);
600
m_size22 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size24_JRadioButtonMenuItem_Size22_Text_Second"),false);//,select_font_group);
601
m_size20 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size24_JRadioButtonMenuItem_Size20_Text_Second"),false);//,select_font_group);
602
m_size18 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size24_JRadioButtonMenuItem_Size18_Text_Second"),false);//,select_font_group);
603
m_size16 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size24_JRadioButtonMenuItem_Size16_Text_Second"),false);//,select_font_group);
604
m_size14 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size24_JRadioButtonMenuItem_Size14_Text_Second"),false);//,select_font_group);
605
m_size12 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size24_JRadioButtonMenuItem_Size12_Text_Second"),true);//,select_font_group);
606
m_size10 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size24_JRadioButtonMenuItem_Size10_Text_Second"),false);//,select_font_group);
607
m_size8 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size24_JRadioButtonMenuItem_Size8_Text_Second"),false);//,select_font_group);
608
m_size6 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size24_JRadioButtonMenuItem_Size6_Text_Second"),false);//,select_font_group);
609
m_size4 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size24_JRadioButtonMenuItem_Size4_Text_Second"),false);//,select_font_group);
610
m_size2 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size24_JRadioButtonMenuItem_Size2_Text_Second"),false);//,select_font_group);
611
m_size1 = new JRadioButtonMenuItem(Messages.getInstance().getString("TreeVisualizer_Size24_JRadioButtonMenuItem_Size1_Text_Second"),false);//,select_font_group);
583
m_size24.setActionCommand("Size 24");//,select_font_group);
584
m_size22.setActionCommand("Size 22");//,select_font_group);
585
m_size20.setActionCommand("Size 20");//,select_font_group);
586
m_size18.setActionCommand("Size 18");//,select_font_group);
587
m_size16.setActionCommand("Size 16");//,select_font_group);
588
m_size14.setActionCommand("Size 14");//,select_font_group);
589
m_size12.setActionCommand("Size 12");//,select_font_group);
590
m_size10.setActionCommand("Size 10");//,select_font_group);
591
m_size8.setActionCommand("Size 8");//,select_font_group);
592
m_size6.setActionCommand("Size 6");//,select_font_group);
593
m_size4.setActionCommand("Size 4");//,select_font_group);
594
m_size2.setActionCommand("Size 2");//,select_font_group);
595
m_size1.setActionCommand("Size 1");//,select_font_group);
613
m_size24.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size24_Text_Second"));//,select_font_group);
614
m_size22.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size22_Text_Second"));//,select_font_group);
615
m_size20.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size20_Text_Second"));//,select_font_group);
616
m_size18.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size18_Text_Second"));//,select_font_group);
617
m_size16.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size16_Text_Second"));//,select_font_group);
618
m_size14.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size14_Text_Second"));//,select_font_group);
619
m_size12.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size12_Text_Second"));//,select_font_group);
620
m_size10.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size10_Text_Second"));//,select_font_group);
621
m_size8.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size8_Text_Second"));//,select_font_group);
622
m_size6.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size6_Text_Second"));//,select_font_group);
623
m_size4.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size4_Text_Second"));//,select_font_group);
624
m_size2.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size2_Text_Second"));//,select_font_group);
625
m_size1.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Size1_JRadioButtonMenuItem_SetActionCommand_Size1_Text_Second"));//,select_font_group);
674
704
m_nodeMenu = new JPopupMenu();
675
705
/* A visualize choice for the node, may not be available. */
676
m_visualise = new JMenuItem("Visualize The Node");
677
m_visualise.setActionCommand("Visualize The Node");
706
m_visualise = new JMenuItem(Messages.getInstance().getString("TreeVisualizer_Visualise_JMenuItem_Text_Second"));
707
m_visualise.setActionCommand(Messages.getInstance().getString("TreeVisualizer_Visualise_JMenuItem_SetActionCommand_Text_Second"));
678
708
m_visualise.addActionListener(this);
679
709
m_nodeMenu.add(m_visualise);
681
711
if (m_listener != null) {
682
m_remChildren = new JMenuItem("Remove Child Nodes");
683
m_remChildren.setActionCommand("Remove Child Nodes");
712
m_remChildren = new JMenuItem(Messages.getInstance().getString("TreeVisualizer_RemChildren_JMenuItem_Text_Second"));
713
m_remChildren.setActionCommand(Messages.getInstance().getString("TreeVisualizer_RemChildren_JMenuItem_SetActionCommand_Text_Second"));
684
714
m_remChildren.addActionListener(this);
685
715
m_nodeMenu.add(m_remChildren);
687
m_classifyChild = new JMenuItem("Use Classifier...");
688
m_classifyChild.setActionCommand("classify_child");
717
m_classifyChild = new JMenuItem(Messages.getInstance().getString("TreeVisualizer_ClassifyChild_JMenuItem_Text_Second"));
718
m_classifyChild.setActionCommand(Messages.getInstance().getString("TreeVisualizer_ClassifyChild_JMenuItem_SetActionCommand_Text_Second"));
689
719
m_classifyChild.addActionListener(this);
690
720
m_nodeMenu.add(m_classifyChild);
692
m_sendInstances = new JMenuItem("Add Instances To Viewer");
693
m_sendInstances.setActionCommand("send_instances");
722
m_sendInstances = new JMenuItem(Messages.getInstance().getString("TreeVisualizer_SendInstances_JMenuItem_Text"));
723
m_sendInstances.setActionCommand(Messages.getInstance().getString("TreeVisualizer_SendInstances_JMenuItem_SetActionCommand_Text"));
694
724
m_sendInstances.addActionListener(this);
695
725
m_nodeMenu.add(m_sendInstances);
746
* Processes the color string. Returns null if empty.
748
* @param colorStr the string to process
749
* @return the processed color or null
751
protected Color getColor(String colorStr) {
756
if ((colorStr != null) && (colorStr.length() > 0))
757
result = VisualizeUtils.processColour(colorStr, result);
763
* Performs some initialization.
765
protected void initialize() {
769
props = Utils.readProperties(PROPERTIES_FILE);
771
catch (Exception e) {
773
props = new Properties();
776
m_FontColor = getColor(props.getProperty("FontColor", ""));
777
m_BackgroundColor = getColor(props.getProperty("BackgroundColor", ""));
778
m_NodeColor = getColor(props.getProperty("NodeColor", ""));
779
m_LineColor = getColor(props.getProperty("LineColor", ""));
780
m_ZoomBoxColor = getColor(props.getProperty("ZoomBoxColor", ""));
781
m_ZoomBoxXORColor = getColor(props.getProperty("ZoomBoxXORColor", ""));
782
m_ShowBorder = Boolean.parseBoolean(props.getProperty("ShowBorder", "true"));
716
786
* Fits the tree to the current screen size. Call this after
717
787
* window has been created to get the entrire tree to be in view
834
904
nf.setVisible(true);
837
JOptionPane.showMessageDialog(this, "Sorry, there is no " +
838
"available Instances data for " +
839
"this Node.", "Sorry!",
907
JOptionPane.showMessageDialog(this, Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_First"),
908
Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Second"),
840
909
JOptionPane.WARNING_MESSAGE);
844
JOptionPane.showMessageDialog(this, "Error, there is no " +
845
"selected Node to perform " +
846
"this operation on.", "Error!",
913
JOptionPane.showMessageDialog(this, Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Third"),
914
Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Fourth"),
847
915
JOptionPane.ERROR_MESSAGE);
850
else if (e.getActionCommand().equals("Create Child Nodes")) {
918
else if (e.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ActionPerformed_CreateChildNodes_Text"))) {
851
919
if (m_focusNode >= 0) {
852
920
if (m_listener != null) {
853
921
//then send message to the listener
856
924
m_nodes[m_focusNode].m_node.getRefer()));
859
JOptionPane.showMessageDialog(this, "Sorry, there is no " +
860
"available Decision Tree to " +
861
"perform this operation on.",
927
JOptionPane.showMessageDialog(this, Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Sixth"),
928
Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Seventh"),
863
929
JOptionPane.WARNING_MESSAGE);
867
JOptionPane.showMessageDialog(this, "Error, there is no " +
868
"selected Node to perform this " +
869
"operation on.", "Error!",
933
JOptionPane.showMessageDialog(this, Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Eighth"),
934
Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Eighth"),
870
935
JOptionPane.ERROR_MESSAGE);
873
else if (e.getActionCommand().equals("Remove Child Nodes")) {
938
else if (e.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ActionPerformed_RemoveChildNodes_Text"))) {
874
939
if (m_focusNode >= 0) {
875
940
if (m_listener != null) {
876
941
//then send message to the listener
879
944
m_nodes[m_focusNode].m_node.getRefer()));
882
JOptionPane.showMessageDialog(this, "Sorry, there is no " +
883
"available Decsion Tree to " +
884
"perform this operation on.",
947
JOptionPane.showMessageDialog(this, Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Nineth"),
948
Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Tenth"),
886
949
JOptionPane.WARNING_MESSAGE);
890
JOptionPane.showMessageDialog(this, "Error, there is no " +
891
"selected Node to perform this " +
892
"operation on.", "Error!",
953
JOptionPane.showMessageDialog(this, Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Eleventh"),
954
Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Twelveth"),
893
955
JOptionPane.ERROR_MESSAGE);
896
else if (e.getActionCommand().equals("classify_child")) {
958
else if (e.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ActionPerformed_Classify_Child_Text"))) {
897
959
if (m_focusNode >= 0) {
898
960
if (m_listener != null) {
899
961
//then send message to the listener
902
964
m_nodes[m_focusNode].m_node.getRefer()));
905
JOptionPane.showMessageDialog(this, "Sorry, there is no " +
906
"available Decsion Tree to " +
907
"perform this operation on.",
967
JOptionPane.showMessageDialog(this, Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Thirteenth"),
968
Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Fourteenth"),
909
969
JOptionPane.WARNING_MESSAGE);
913
JOptionPane.showMessageDialog(this, "Error, there is no " +
914
"selected Node to perform this " +
915
"operation on.", "Error!",
973
JOptionPane.showMessageDialog(this, Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Fifteenth"),
974
" " + Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Sixteenth"),
916
975
JOptionPane.ERROR_MESSAGE);
919
else if (e.getActionCommand().equals("send_instances")) {
978
else if (e.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ActionPerformed_Send_Instances_Text"))) {
920
979
if (m_focusNode >= 0) {
921
980
if (m_listener != null) {
922
981
//then send message to the listener
925
984
m_nodes[m_focusNode].m_node.getRefer()));
928
JOptionPane.showMessageDialog(this, "Sorry, there is no " +
929
"available Decsion Tree to " +
930
"perform this operation on.",
987
JOptionPane.showMessageDialog(this, Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Seventeenth"),
988
Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Eighteenth"),
932
989
JOptionPane.WARNING_MESSAGE);
936
JOptionPane.showMessageDialog(this, "Error, there is no " +
937
"selected Node to perform this " +
938
"operation on.", "Error!",
993
JOptionPane.showMessageDialog(this, Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Nineteenth"),
994
Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_Twentyth"),
939
995
JOptionPane.ERROR_MESSAGE);
942
else if (e.getActionCommand().equals("Accept The Tree")) {
998
else if (e.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ActionPerformed_AcceptTheTree_Text"))) {
943
999
if (m_listener != null) {
944
1000
//then send message to the listener saying that the tree is done
945
1001
m_listener.userCommand(new TreeDisplayEvent(TreeDisplayEvent.ACCEPT,
949
JOptionPane.showMessageDialog(this, "Sorry, there is no " +
950
"available Decision Tree to " +
951
"perform this operation on.",
1005
JOptionPane.showMessageDialog(this, Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_TwentyFirst"),
1006
Messages.getInstance().getString("TreeVisualizer_ActionPerformed_JOptionPaneShowMessageDialog_Text_TwentySecond"),
953
1007
JOptionPane.WARNING_MESSAGE);
963
1017
public void itemStateChanged(ItemEvent e)
965
1019
JRadioButtonMenuItem c = (JRadioButtonMenuItem)e.getSource();
966
if (c.getActionCommand().equals("Size 24")) {
1020
if (c.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ItemStateChanged_GetActionCommand_Size24_Text"))) {
967
1021
changeFontSize(24);
969
else if (c.getActionCommand().equals("Size 22")) {
1023
else if (c.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ItemStateChanged_GetActionCommand_Size22_Text"))) {
970
1024
changeFontSize(22);
972
else if (c.getActionCommand().equals("Size 20")) {
1026
else if (c.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ItemStateChanged_GetActionCommand_Size20_Text"))) {
973
1027
changeFontSize(20);
975
else if (c.getActionCommand().equals("Size 18")) {
1029
else if (c.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ItemStateChanged_GetActionCommand_Size18_Text"))) {
976
1030
changeFontSize(18);
978
else if (c.getActionCommand().equals("Size 16")) {
1032
else if (c.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ItemStateChanged_GetActionCommand_Size16_Text"))) {
979
1033
changeFontSize(16);
981
else if (c.getActionCommand().equals("Size 14")) {
1035
else if (c.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ItemStateChanged_GetActionCommand_Size14_Text"))) {
982
1036
changeFontSize(14);
984
else if (c.getActionCommand().equals("Size 12")) {
1038
else if (c.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ItemStateChanged_GetActionCommand_Size12_Text"))) {
985
1039
changeFontSize(12);
987
else if (c.getActionCommand().equals("Size 10")) {
1041
else if (c.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ItemStateChanged_GetActionCommand_Size10_Text"))) {
988
1042
changeFontSize(10);
990
else if (c.getActionCommand().equals("Size 8")) {
1044
else if (c.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ItemStateChanged_GetActionCommand_Size8_Text"))) {
991
1045
changeFontSize(8);
993
else if (c.getActionCommand().equals("Size 6")) {
1047
else if (c.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ItemStateChanged_GetActionCommand_Size6_Text"))) {
994
1048
changeFontSize(6);
996
else if (c.getActionCommand().equals("Size 4")) {
1050
else if (c.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ItemStateChanged_GetActionCommand_Size4_Text"))) {
997
1051
changeFontSize(4);
999
else if (c.getActionCommand().equals("Size 2")) {
1053
else if (c.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ItemStateChanged_GetActionCommand_Size2_Text"))) {
1000
1054
changeFontSize(2);
1002
else if (c.getActionCommand().equals("Size 1")) {
1056
else if (c.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ItemStateChanged_GetActionCommand_Size1_Text"))) {
1003
1057
changeFontSize(1);
1005
else if (c.getActionCommand().equals("Hide Descendants")) {
1059
else if (c.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ItemStateChanged_GetActionCommand_HideDescendants_Text"))) {
1006
1060
//focus_node.setCVisible(!c.isSelected());
1007
1061
//no longer used...
2073
2167
* @param args first argument should be the name of a file that contains
2074
2168
* a tree discription in dot format.
2076
public static void main(String[] args)
2080
weka.core.logging.Logger.log(weka.core.logging.Logger.Level.INFO, "Logging started");
2081
//put in the random data generator right here
2082
// this call with import java.lang gives me between 0 and 1 Math.random
2083
TreeBuild builder = new TreeBuild();
2085
NodePlace arrange = new PlaceNode2();
2086
//top = builder.create(new StringReader("digraph atree { top [label=\"the top\"] a [label=\"the first node\"] b [label=\"the second nodes\"] c [label=\"comes off of first\"] top->a top->b b->c }"));
2087
top = builder.create(new FileReader(args[0]));
2089
int num = top.getCount(top,0);
2090
//System.out.println("counter counted " + num + " nodes");
2091
//System.out.println("there are " + num + " nodes");
2092
TreeVisualizer a = new TreeVisualizer(null, top, arrange);
2093
a.setSize(800 ,600);
2097
//a.addMouseMotionListener(a);
2098
//a.addMouseListener(a);
2100
Container contentPane = f.getContentPane();
2102
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
2107
//a.setTree(top,arrange);//,(num + 1000), num / 2 + 1000);
2109
catch(IOException e){}
2170
public static void main(String[] args) {
2172
weka.core.logging.Logger.log(weka.core.logging.Logger.Level.INFO, Messages.getInstance().getString("TreeVisualizer_Main_Logger_Text"));
2173
//put in the random data generator right here
2174
// this call with import java.lang gives me between 0 and 1 Math.random
2175
TreeBuild builder = new TreeBuild();
2177
NodePlace arrange = new PlaceNode2();
2178
//top = builder.create(new StringReader("digraph atree { top [label=\"the top\"] a [label=\"the first node\"] b [label=\"the second nodes\"] c [label=\"comes off of first\"] top->a top->b b->c }"));
2179
top = builder.create(new FileReader(args[0]));
2181
int num = top.getCount(top,0);
2182
//System.out.println("counter counted " + num + " nodes");
2183
//System.out.println("there are " + num + " nodes");
2184
TreeVisualizer a = new TreeVisualizer(null, top, arrange);
2185
a.setSize(800 ,600);
2189
//a.addMouseMotionListener(a);
2190
//a.addMouseListener(a);
2192
Container contentPane = f.getContentPane();
2194
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
2199
//a.setTree(top,arrange);//,(num + 1000), num / 2 + 1000);
2201
catch(IOException e) {