diff --git a/Resources/examples/Ancestral_States/02-TreeWindow.nex b/Resources/examples/Ancestral_States/02-TreeWindow.nex index 213be7621..5a8b6eb99 100755 --- a/Resources/examples/Ancestral_States/02-TreeWindow.nex +++ b/Resources/examples/Ancestral_States/02-TreeWindow.nex @@ -427,7 +427,7 @@ Begin MESQUITE; setFont SanSerif; setFontSize 10; setActive; - setExplanation 'This is the Tree Window^n^nTo show graphically a reconstruction of ancestral states, select Trace Character History under the Analysis menu of the tree window. You may be asked what method to use (parsimony or likelihood) and what source of characters.'; + setExplanation 'This is the Tree Window^n^nTo show graphically a reconstruction of ancestral states, select Trace Character History under the Analysis:Tree menu of the tree window. You may be asked what method to use (parsimony or likelihood) and what source of characters.'; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; diff --git a/Resources/examples/Ancestral_States/15ab-xiphStochCharMap.nex b/Resources/examples/Ancestral_States/15ab-xiphStochCharMap.nex index 9182fc8e1..015a10aab 100644 --- a/Resources/examples/Ancestral_States/15ab-xiphStochCharMap.nex +++ b/Resources/examples/Ancestral_States/15ab-xiphStochCharMap.nex @@ -319,7 +319,7 @@ Begin MESQUITE; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; - addWebLink Show_Manual 'docs/mesquite/CharacterEvolution/AncestralStates.html#scm'; + addWebLink Show_Manual 'http://mesquiteproject.wikispaces.com/Ancestral+States#scm'; endTell; showWindow; endTell; diff --git a/Resources/examples/Ancestral_States/16c-TraceAllChars.nex b/Resources/examples/Ancestral_States/16c-TraceAllChars.nex index b0ce34b27..3f627856b 100755 --- a/Resources/examples/Ancestral_States/16c-TraceAllChars.nex +++ b/Resources/examples/Ancestral_States/16c-TraceAllChars.nex @@ -387,12 +387,12 @@ Begin MESQUITE; getToolPalette; tell It; endTell; - setExplanation 'Trace All Characters (available in the Analysis menu) summarizes ancestral states in many characters. A text window shows a crude table listing states at different nodes for all the characters.^n^nBy default the table lists reconstructions only for those nodes selected in the tree, and for all selected characters. You can adjust these options using items in the Trace_All menu of the Tree Window. There you can also change the specifications of the reconstruction.'; + setExplanation 'Trace All Characters (available in the Analysis:Tree menu) summarizes ancestral states in many characters. A text window shows a crude table listing states at different nodes for all the characters.^n^nBy default the table lists reconstructions only for those nodes selected in the tree, and for all selected characters. You can adjust these options using items in the Trace_All menu of the Tree Window. There you can also change the specifications of the reconstruction.'; setTitle Trace_All_Characters; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; - addWebLink Manual_page 'mesquite:docs/mesquite/AncestralStates/AncestralStates.html#tac'; + addWebLink Manual_page 'http://mesquiteproject.wikispaces.com/Ancestral+States#tac'; endTell; showWindow; endTell; diff --git a/Resources/examples/Ancestral_States/17-TraceOverTrees.nex b/Resources/examples/Ancestral_States/17-TraceOverTrees.nex index 75ffbeab1..c8f380360 100755 --- a/Resources/examples/Ancestral_States/17-TraceOverTrees.nex +++ b/Resources/examples/Ancestral_States/17-TraceOverTrees.nex @@ -659,12 +659,12 @@ Begin MESQUITE; setFont SanSerif; setFontSize 10; setActive; - setExplanation 'In this tree window is shown the "Trace Over Trees" feature, available in the Analysis menu of a Tree Window. This reconstructs ancestral states over a series of selected trees, and attempts to summarize them on a single tree. Usually you would use this by first displaying some sort of consensus tree in the tree window, then selecting a series of trees from which the consensus was derived. Trace over Trees does NOT calculate the consensus tree automatically, but instead summarizes states on whatever tree you have in the Tree Window.^n^nIn this example the tree is a strict consensus of some most parsimonious trees, on which the character''s evolution was reconstructed.^n^nThe method shows, at each node in your consensus tree, the ancestral states reconstructed in the various other trees that happened to have that same clade. If the other tree doesn''t have that clade, its state at that node is not (of course) recorded for that node.^n^nIf you hold the cursor over the node, the Trace over Trees legend will show details like how many of the trees show each of the character states at the node, and how many of the trees total have the node (i.e. the clade).^n'; + setExplanation 'In this tree window is shown the "Trace Over Trees" feature, available in the Analysis:Tree menu of a Tree Window. This reconstructs ancestral states over a series of selected trees, and attempts to summarize them on a single tree. Usually you would use this by first displaying some sort of consensus tree in the tree window, then selecting a series of trees from which the consensus was derived. Trace over Trees does NOT calculate the consensus tree automatically, but instead summarizes states on whatever tree you have in the Tree Window.^n^nIn this example the tree is a strict consensus of some most parsimonious trees, on which the character''s evolution was reconstructed.^n^nThe method shows, at each node in your consensus tree, the ancestral states reconstructed in the various other trees that happened to have that same clade. If the other tree doesn''t have that clade, its state at that node is not (of course) recorded for that node.^n^nIf you hold the cursor over the node, the Trace over Trees legend will show details like how many of the trees show each of the character states at the node, and how many of the trees total have the node (i.e. the clade).^n'; setTitle Trace_over_trees; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; - addWebLink Manual_page 'mesquite:docs/mesquite/AncestralStates/AncestralStates.html#tcot'; + addWebLink Manual_page 'http://mesquiteproject.wikispaces.com/Ancestral+States#tcot'; endTell; showWindow; endTell; diff --git a/Resources/examples/Ancestral_States/17a-TraceOverTrees.nex b/Resources/examples/Ancestral_States/17a-TraceOverTrees.nex index c7a2d0b4f..74f1bdc83 100644 --- a/Resources/examples/Ancestral_States/17a-TraceOverTrees.nex +++ b/Resources/examples/Ancestral_States/17a-TraceOverTrees.nex @@ -1324,12 +1324,12 @@ Begin MESQUITE; setFont SanSerif; setFontSize 10; setActive; - setExplanation 'In this tree window is shown the "Trace Over Trees" feature, available in the Analysis menu of a Tree Window. This reconstructs ancestral states over a series of selected trees, and attempts to summarize them on a single tree. Usually you would use this by first displaying some sort of consensus tree in the tree window, then selecting a series of trees from which the consensus was derived. Trace over Trees does NOT calculate the consensus tree automatically, but instead summarizes states on whatever tree you have in the Tree Window.^n^nIn this example the tree is a strict consensus of some most parsimonious trees, on which the character''s evolution was reconstructed.^n^nThe method shows, at each node in your consensus tree, the ancestral states reconstructed in the various other trees that happened to have that same clade. If the other tree doesn''t have that clade, its state at that node is not (of course) recorded for that node.^n^nIf you hold the cursor over the node, the Trace over Trees legend will show details like how many of the trees show each of the character states at the node, and how many of the trees total have the node (i.e. the clade).^n'; + setExplanation 'In this tree window is shown the "Trace Over Trees" feature, available in the Analysis:Tree menu of a Tree Window. This reconstructs ancestral states over a series of selected trees, and attempts to summarize them on a single tree. Usually you would use this by first displaying some sort of consensus tree in the tree window, then selecting a series of trees from which the consensus was derived. Trace over Trees does NOT calculate the consensus tree automatically, but instead summarizes states on whatever tree you have in the Tree Window.^n^nIn this example the tree is a strict consensus of some most parsimonious trees, on which the character''s evolution was reconstructed.^n^nThe method shows, at each node in your consensus tree, the ancestral states reconstructed in the various other trees that happened to have that same clade. If the other tree doesn''t have that clade, its state at that node is not (of course) recorded for that node.^n^nIf you hold the cursor over the node, the Trace over Trees legend will show details like how many of the trees show each of the character states at the node, and how many of the trees total have the node (i.e. the clade).^n'; setTitle Trace_over_trees; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; - addWebLink Manual_page 'mesquite:docs/mesquite/AncestralStates/AncestralStates.html#tcot'; + addWebLink Manual_page 'http://mesquiteproject.wikispaces.com/Ancestral+States#tcot'; endTell; showWindow; endTell; diff --git a/Resources/examples/Basic_Examples/basic_operation/02-standardMenus.nex b/Resources/examples/Basic_Examples/basic_operation/02-standardMenus.nex index 2630e06f0..11125a472 100755 --- a/Resources/examples/Basic_Examples/basic_operation/02-standardMenus.nex +++ b/Resources/examples/Basic_Examples/basic_operation/02-standardMenus.nex @@ -119,7 +119,7 @@ Begin MESQUITE; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; - addWebLink Menu_documentation 'mesquite:docs/mesquite/menus.html'; + addWebLink Menu_documentation 'http://mesquiteproject.wikispaces.com/Menus'; endTell; showWindow; endTell; diff --git a/Resources/examples/Basic_Examples/basic_operation/04-treeWindow.nex b/Resources/examples/Basic_Examples/basic_operation/04-treeWindow.nex index ceb1cdcc3..e6230f234 100755 --- a/Resources/examples/Basic_Examples/basic_operation/04-treeWindow.nex +++ b/Resources/examples/Basic_Examples/basic_operation/04-treeWindow.nex @@ -211,7 +211,7 @@ Begin MESQUITE; setLocation 21 22; setFont SanSerif; setFontSize 10; - setExplanation 'This file shows the tree window in which trees can be viewed and edited. At left is a tool palette, whose tools can be used for manipulating the tree. There is also a control with blue arrows to scroll from one tree to another from the current source of trees. ^n^nThe Tree Window has a Tree menu in which you can control the trees appearance, and choose the source of trees. There is also an Analysis menu from which you can initiate analyses with the tree.^n^nThe tree window also has an annotation and explanation area at the bottom for communicating with the user.^n^nFor more information about viewing and editing trees, follow the "Go" button below beside "Viewing trees". For more information about manipulating trees, follow the "Go" button beside "Manipulating trees". Otherwise, go to the next example via the Next button.'; + setExplanation 'This file shows the tree window in which trees can be viewed and edited. At left is a tool palette, whose tools can be used for manipulating the tree. There is also a control with blue arrows to scroll from one tree to another from the current source of trees. ^n^nThe Tree Window has a Tree menu in which you can control the trees appearance, and choose the source of trees. There is also an Analysis:Tree menu from which you can initiate analyses with the tree.^n^nThe tree window also has an annotation and explanation area at the bottom for communicating with the user.^n^nFor more information about viewing and editing trees, follow the "Go" button below beside "Viewing trees". For more information about manipulating trees, follow the "Go" button beside "Manipulating trees". Otherwise, go to the next example via the Next button.'; setTitle Tree_window; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Basic_Examples/basic_operation/05-windowModes.nex b/Resources/examples/Basic_Examples/basic_operation/05-windowModes.nex index 26fef3d27..4b8abc075 100755 --- a/Resources/examples/Basic_Examples/basic_operation/05-windowModes.nex +++ b/Resources/examples/Basic_Examples/basic_operation/05-windowModes.nex @@ -472,7 +472,7 @@ Begin MESQUITE; setFont SanSerif; setFontSize 10; setActive; - setExplanation 'Most windows have several modes for viewing, controlled by the information bar at the top. The information bar has five tabs, "Graphics", "Text", "Parameters", "Modules" and "Citations". If the information bar does not appear at the top of a window, it may be turned on using the "Show Information Bar" menu item in the Windows menu.^n^nThe four windows shown here are all tree windows, being show in each of four different modes. The "Graphics" mode is the standard mode in which you''re likely to work. The "Text" mode gives an alternative, text-based view of the window. The "Parameters" mode shows important parameter settings of the various modules participating in the window. This can be useful to see what are the parameters values or assumptions for an analysis. The "Modules" mode shows the hierarchy of Mesquite modules involved in making the window. If you pass the cursor over the names of the modules, information about each module will appear in the explanation area at the bottom of the window. Touching on the name of the module also gives information. The "Citations" mode shows citations of any modules involved in the calculations that consider themselves citable in the sense of producing substantive results.'; + setExplanation 'Most windows have several modes for viewing, controlled by the View Mode submenu of the window''s Window menu. The menu has 5 choices, "Graphics (Standard)", "Text", "Parameters", "Modules" and "Citations". ^n^nThe four windows shown here are all tree windows, being show in each of four different modes. The "Graphics" mode is the standard mode in which you''re likely to work. The "Text" mode gives an alternative, text-based view of the window. The "Parameters" mode shows important parameter settings of the various modules participating in the window. This can be useful to see what are the parameters values or assumptions for an analysis. The "Modules" mode shows the hierarchy of Mesquite modules involved in making the window. If you pass the cursor over the names of the modules, information about each module will appear in the explanation area at the bottom of the window. Touching on the name of the module also gives information. The "Citations" mode shows citations of any modules involved in the calculations that consider themselves citable in the sense of producing substantive results.'; setTitle Window_modes; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Basic_Examples/basic_operation/06-helpMenu.nex b/Resources/examples/Basic_Examples/basic_operation/06-helpMenu.nex index 40d4393ce..15feb1760 100644 --- a/Resources/examples/Basic_Examples/basic_operation/06-helpMenu.nex +++ b/Resources/examples/Basic_Examples/basic_operation/06-helpMenu.nex @@ -211,12 +211,12 @@ Begin MESQUITE; setLocation 14 22; setFont SanSerif; setFontSize 10; - setExplanation 'An important first step in learning Mesquite is to discover where to find instructions and information. Because Mesquite is modular, there are many challenges in providing documentation, since what options are available depend on what is installed. Mesquite may also be confusing at times, since its interface changes with what is installed and what calculations are being done. ^n^nTo overcome these challenges, there are various features designed to give you information and instructions, which are described in this example file and the next.^n^nHere are the primary tools to learn Mesquite:^n^n1. These example files.^n^n2. The manual. Go to the Help menu and select Mesquite Manual. (You may find other items in the Help menu helpful)^n^n3. The search system. Note the little text box at the top of this window with "Search Features" or "Search Data" beside it. If it says "Search Data", touch on the blue d until it says "Search Features". Enter text in the box and hit return; it will find features that match that search string.^n^n4. See the Mesquite manual page on learning Mesquite (link below). ^n^n'; + setExplanation 'An important first step in learning Mesquite is to discover where to find instructions and information. Because Mesquite is modular, there are many challenges in providing documentation, since what options are available depend on what is installed. Mesquite may also be confusing at times, since its interface changes with what is installed and what calculations are being done. ^n^nTo overcome these challenges, there are various features designed to give you information and instructions, which are described in this example file and the next.^n^nHere are the primary tools to learn Mesquite:^n^n1. These example files.^n^n2. The manual. Go to the Help menu and select Mesquite Documentation. (You may find other items in the Help menu helpful)^n^n3. The search system. Note the little text box at the top of this window with "Search Features" or "Search Data" beside it. If it says "Search Data", touch on the blue d until it says "Search Features". Enter text in the box and hit return; it will find features that match that search string.^n^n4. See the Mesquite manual page on learning Mesquite (link below). ^n^n'; setTitle Help; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; - addWebLink Page_on_learning_Mesquite 'mesquite:docs/mesquite/help.html'; + addWebLink Page_on_learning_Mesquite 'http://mesquiteproject.wikispaces.com/Learning+how+to+use+Mesquite'; endTell; showWindow; endTell; diff --git a/Resources/examples/Basic_Examples/basic_operation/07-moreHelp.nex b/Resources/examples/Basic_Examples/basic_operation/07-moreHelp.nex index b9a2d47f1..984d86517 100644 --- a/Resources/examples/Basic_Examples/basic_operation/07-moreHelp.nex +++ b/Resources/examples/Basic_Examples/basic_operation/07-moreHelp.nex @@ -211,12 +211,12 @@ Begin MESQUITE; setLocation 13 25; setFont SanSerif; setFontSize 10; - setExplanation 'You can learn what different menu items and tools do by using several features:^n^n-- if you hold down the Shift key as you select a menu item, an explanation of the menu item will appear in the explanation area of the window associated with the menu (try this with menus of the Tree Window -- you can''t do it for this note, since this note has no explanation area)^n^n-- if you touch on a button for a tool in a tool palette, like the one at the left of the tree window, an explanation for the tool will appear in the window''s explanation area.^n^n-- if you select the Menu & Control Explanations menu item in the Window menu, Mesquite will compose a web page listing all the menu items of the current window (i.e. the one associated with the menu), and what the menu items do. The page also includes a listing of any buttons and other controls in the window, and explains what they do.^n^nTo learn more about Mesquite''s Help system hit the Show button below, to go to the documentation on the topic.'; + setExplanation 'You can learn what different menu items and tools do by using several features:^n^n-- if you hold down the Shift key as you select a menu item, an explanation of the menu item will appear in the explanation area of the window associated with the menu (try this with menus of the Tree Window -- you can''t do it for this note, since this note has no explanation area)^n^n-- if you touch on a button for a tool in a tool palette, like the one at the left of the tree window, an explanation for the tool will appear in the window''s explanation area.^n^n-- if you select the Menu & Control Explanations menu item in the View menu, Mesquite will compose a web page listing all the menu items of the current window (i.e. the one associated with the menu), and what the menu items do. The page also includes a listing of any buttons and other controls in the window, and explains what they do.^n^nTo learn more about Mesquite''s Help system hit the Show button below, to go to the documentation on the topic.'; setTitle More_help; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; - addWebLink Page_on_Learning_Mesquite 'mesquite:docs/mesquite/help.html'; + addWebLink Page_on_Learning_Mesquite 'http://mesquiteproject.wikispaces.com/Learning+how+to+use+Mesquite'; endTell; showWindow; endTell; diff --git a/Resources/examples/Basic_Examples/basic_operation/08-logFile.nex b/Resources/examples/Basic_Examples/basic_operation/08-logFile.nex index 603259fd3..fc42e4749 100755 --- a/Resources/examples/Basic_Examples/basic_operation/08-logFile.nex +++ b/Resources/examples/Basic_Examples/basic_operation/08-logFile.nex @@ -122,7 +122,7 @@ Begin MESQUITE; setFont SanSerif; setFontSize 10; setActive; - setExplanation 'Mesquite maintains a log file ("Mesquite log") automatically that records commands given. You can see it by selecting the Mesquite Log menu item in the Windows menu.^n^nMesquite saves the current log file and the previous five log files automatically in the Mesquite_Support_Files on your hard disk. If you wish to save a log file, you can copy it from that directory or rename it so that Mesquite won''t overwrite it.'; + setExplanation 'Mesquite maintains a log file ("Mesquite log") automatically that records commands given. You can see it by selecting the Mesquite Log menu item in the View menu.^n^nMesquite saves the current log file and the previous five log files automatically in the Mesquite_Support_Files on your hard disk. If you wish to save a log file, you can copy it from that directory or rename it so that Mesquite won''t overwrite it.'; setTitle Log_file; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Basic_Examples/basic_operation/09-windowFonts.nex b/Resources/examples/Basic_Examples/basic_operation/09-windowFonts.nex index 4db65d1f6..eab40e00b 100644 --- a/Resources/examples/Basic_Examples/basic_operation/09-windowFonts.nex +++ b/Resources/examples/Basic_Examples/basic_operation/09-windowFonts.nex @@ -194,12 +194,12 @@ Begin MESQUITE; setLocation 15 27; setFont SanSerif; setFontSize 10; - setExplanation 'The font of a window may be changed by selecting the menu items in the Edit window. This changes the font of many parts of a window, but not necessarily all. For instance, the names of taxa in the Tree Window are controlled separately, via menu items in the Drawing menu.^n^nWindows may be printed using the menu items in the File menu. ^n^nTo see the Mesquite documentation on windows, use the button below.'; + setExplanation 'The font of a window may be changed by selecting the menu items in the Edit window. This changes the font of many parts of a window, but not necessarily all. For instance, the names of taxa in the Tree Window are controlled separately, via menu items in the Display menu.^n^nWindows may be printed using the menu items in the File menu. ^n^nTo see the Mesquite documentation on windows, use the button below.'; setTitle Fonts_&_printing; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; - addWebLink Window_Documentation 'mesquite:docs/mesquite/windows.html'; + addWebLink Window_Documentation 'http://mesquiteproject.wikispaces.com/Windows'; endTell; showWindow; endTell; diff --git a/Resources/examples/Basic_Examples/basic_operation/10-scripting.nex b/Resources/examples/Basic_Examples/basic_operation/10-scripting.nex index 5868aaf4e..6474a29d4 100644 --- a/Resources/examples/Basic_Examples/basic_operation/10-scripting.nex +++ b/Resources/examples/Basic_Examples/basic_operation/10-scripting.nex @@ -392,7 +392,7 @@ Begin MESQUITE; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; - addWebLink Scripting_Documentation 'mesquite:docs/mesquite/scripting.html'; + addWebLink Scripting_Documentation 'http://mesquiteproject.wikispaces.com/Scripts+%26+Macros'; endTell; showWindow; endTell; diff --git a/Resources/examples/Basic_Examples/basic_operation/13-blockOfTaxa.nex b/Resources/examples/Basic_Examples/basic_operation/13-blockOfTaxa.nex index 5e05dd137..f40787786 100755 --- a/Resources/examples/Basic_Examples/basic_operation/13-blockOfTaxa.nex +++ b/Resources/examples/Basic_Examples/basic_operation/13-blockOfTaxa.nex @@ -188,7 +188,7 @@ Begin MESQUITE; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; - addWebLink Projects_&_Files 'mesquite:docs/mesquite/managingFiles.html'; + addWebLink Projects_&_Files 'http://mesquiteproject.wikispaces.com/Files'; endTell; showWindow; endTell; diff --git a/Resources/examples/Basic_Examples/basic_operation/16-webLinks.nex b/Resources/examples/Basic_Examples/basic_operation/16-webLinks.nex index f369fced3..d74551436 100755 --- a/Resources/examples/Basic_Examples/basic_operation/16-webLinks.nex +++ b/Resources/examples/Basic_Examples/basic_operation/16-webLinks.nex @@ -32,7 +32,7 @@ Begin MESQUITE; setFont SanSerif; setFontSize 14; setActive; - setExplanation 'The files that Mesquite reads can either be local, for instance on your hard drive, or at a URL on the internet. You can read the latter using the "URL" item in the Open menu of the file menu. For instance, if you touch the Go button below, you will be taken to a file on Mesquite''s website.^n^nOnce you touch on the "Go" button, you will not have a button to return to this file.'; + setExplanation 'The files that Mesquite reads can either be local, for instance on your hard drive, or at a URL on the internet. You can read the latter using the "URL" item in the Open menu of the File menu. For instance, if you touch the Go button below, you will be taken to a file on Mesquite''s website.^n^nOnce you touch on the "Go" button, you will not have a button to return to this file.'; setTitle Web_Links; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Basic_Examples/characters/03-newMatrix.nex b/Resources/examples/Basic_Examples/characters/03-newMatrix.nex old mode 100755 new mode 100644 index 631211303..24763b199 --- a/Resources/examples/Basic_Examples/characters/03-newMatrix.nex +++ b/Resources/examples/Basic_Examples/characters/03-newMatrix.nex @@ -1,5 +1,5 @@ #NEXUS -[written Sat Jun 07 10:42:35 PDT 2008 by Mesquite version 2.5 BETA 2 (build j76) at Thrandina.local/192.168.0.136 (Wayne Maddison)] +[written Tue Aug 26 15:07:52 PDT 2014 by Mesquite version 3.0 beta 3 (build 637) at Thrandina.local/192.168.1.64 (Wayne Maddison)] BEGIN TAXA; TITLE Taxa; @@ -16,15 +16,15 @@ BEGIN TREES; Title 'Trees from "03-newMatrix.nex"'; LINK Taxa = Taxa; TRANSLATE - 1 Aus, - 2 Fubonidia, - 3 Ibbinidibe, - 4 Snorolopa, - 5 Quidnubia, - 6 Suinon, - 7 Zorabynyx, - 8 Huichoros, - 9 Jotinupa; +[0] 1 Aus, +[1] 2 Fubonidia, +[2] 3 Ibbinidibe, +[3] 4 Snorolopa, +[4] 5 Quidnubia, +[5] 6 Suinon, +[6] 7 Zorabynyx, +[7] 8 Huichoros, +[8] 9 Jotinupa; TREE First_Tree = ((((1,5),4),((7,6),2)),((9,8),3)); TREE Second_Tree = ((((9,((4,1),2)),6),3),((8,7),5)); TREE Third_Tree = ((8,((2,6),1)),((((3,9),7),4),5)); @@ -38,123 +38,28 @@ Begin MESQUITE; MESQUITESCRIPTVERSION 2; TITLE AUTO; tell ProjectCoordinator; + timeSaved 1409090872737; getEmployee #mesquite.minimal.ManageTaxa.ManageTaxa; tell It; setID 0 8476784597994698209 WM1148912a19b37; endTell; getWindow; tell It; + suppress; setResourcesState false false 72; setPopoutState 400; setExplanationSize 0; setAnnotationSize 0; setFontIncAnnot 0; setFontIncExp 0; - setSize 492 398; + setSize 492 464; setLocation 2 22; setFont SanSerif; setFontSize 10; - endTell; - getEmployee #mesquite.trees.BasicTreeWindowCoord.BasicTreeWindowCoord; - tell It; - makeTreeWindow #8476784597994698209 #mesquite.trees.BasicTreeWindowMaker.BasicTreeWindowMaker; + getToolPalette; tell It; - suppressEPCResponse; - setTreeSource #mesquite.trees.StoredTrees.StoredTrees; - tell It; - setTreeBlock 1; - toggleUseWeights off; - endTell; - setAssignedID 302.984374210140.1333751829709936555; - getTreeWindow; - tell It; - popAsTile false; - popOut; - setExplanationSize 20; - setAnnotationSize 20; - setFontIncAnnot 0; - setFontIncExp 0; - setSize 520 394; - setLocation 534 23; - setFont SanSerif; - setFontSize 10; - getToolPalette; - tell It; - endTell; - getTreeDrawCoordinator #mesquite.trees.BasicTreeDrawCoordinator.BasicTreeDrawCoordinator; - tell It; - suppress; - setTreeDrawer #mesquite.trees.DiagonalDrawTree.DiagonalDrawTree; - tell It; - setNodeLocs #mesquite.trees.NodeLocsStandard.NodeLocsStandard; - tell It; - stretchToggle off; - branchLengthsToggle on; - toggleScale on; - toggleBroadScale off; - toggleCenter off; - toggleEven off; - endTell; - setEdgeWidth 12; - orientUp; - endTell; - setBackground White; - setBranchColor Black; - showNodeNumbers off; - showBranchColors on; - labelBranchLengths off; - centerBrLenLabels on; - showBrLensUnspecified on; - showBrLenLabelsOnTerminals on; - setBrLenLabelColor 0 0 255; - setNumBrLenDecimals 6; - desuppress; - getEmployee #mesquite.trees.BasicDrawTaxonNames.BasicDrawTaxonNames; - tell It; - setColor Black; - toggleColorPartition on; - toggleShadePartition off; - toggleNodeLabels on; - toggleCenterNodeNames off; - toggleShowNames on; - namesAngle ?; - endTell; - endTell; - setTreeNumber 1; - setTree '((((1:1.0,5:1.0):1.0,4:2.0):1.0,((7:1.0,6:1.0):1.0,2:2.0):1.0):1.0,((9:1.0,8:1.0):1.0,3:2.0):2.0):1.0;'; - useSuggestedSize off; - toggleSizeToFit on; - toggleTextOnTree off; - showWindow; - endTell; - desuppressEPCResponse; - getEmployee #mesquite.trees.ColorBranches.ColorBranches; - tell It; - setColor Red; - removeColor off; - endTell; - getEmployee #mesquite.ornamental.BranchNotes.BranchNotes; - tell It; - setAlwaysOn off; - endTell; - getEmployee #mesquite.ornamental.ColorTreeByPartition.ColorTreeByPartition; - tell It; - colorByPartition off; - endTell; - getEmployee #mesquite.ornamental.DrawTreeAssocDoubles.DrawTreeAssocDoubles; - tell It; - setOn on; - setDigits 4; - writeAsPercentage off; - toggleHorizontal on; - setFontSize 10; - setOffset 0 0; - endTell; - getEmployee #mesquite.trees.TreeInfoValues.TreeInfoValues; - tell It; - panelOpen false; - endTell; endTell; + desuppress; endTell; newAssistant #mesquite.basic.ExamplesNavigator.ExamplesNavigator; tell It; @@ -166,10 +71,13 @@ Begin MESQUITE; setAnnotationSize 0; setFontIncAnnot 0; setFontIncExp 0; - setSize 420 381; + setSize 420 442; setLocation 2 22; setFont SanSerif; setFontSize 10; + getToolPalette; + tell It; + endTell; setActive; setExplanation 'Character matrices already filled with data can be created in various ways using the "Make New Matrix from" submenu in the Characters menu. The options in the submenu depend on what modules are installed, but there should be at least two options:^n^n-- Stored Matrices: This will make a new matrix that is initially a copy of an existing matrix. You can edit the new copy without changing the original, and both will be stored in the file.^n^n-- Simulated Matrices on Current Tree: This will make a new matrix that is obtained by simulating character evolution on a tree. To use this, you should have a tree window open. When you select this, you may be asked what simulator module to use. Then you''ll be asked which model of evolution. You may or may not be queried for parameters of the model of evolution. Then, Mesquite will tell you which "tree context" will be used -- that is, which tree window will be used to supply the tree for the simulation. Then, you''ll be asked how many characters to evolve for the matrix. ^n^n(If you want to try different models of evolution, you may have to create the models first, using the "New Character Model" submenu in the Characters menu.)'; toggleFileNames off; diff --git a/Resources/examples/Basic_Examples/characters/10-names.nex b/Resources/examples/Basic_Examples/characters/10-names.nex index 46661b773..ec6b7c66e 100644 --- a/Resources/examples/Basic_Examples/characters/10-names.nex +++ b/Resources/examples/Basic_Examples/characters/10-names.nex @@ -231,7 +231,7 @@ Begin MESQUITE; tell It; endTell; setActive; - setExplanation 'Characters can be assigned names, for instance by editing the column heading in the Character Matrix editor. ^n^nIf the matrix is Categorical data, there is a State Names Editor (shown below) that is available by choosing Edit State Names in the Matrix menu of the Character Matrix editor window. The State Names Editor shows characters on one axis, and states on the other. You can choose whether characters are rows or columns by hitting the double arrow at the top left of the matrix. In this window, you can edit the names of characters and their character states. You can use copy and paste to use similar character state names in different characters.^n^nYou can also edit state names in the character matrix information panel shown at the right side of the character matrix window, shown at right. This panel is available by touching on the blue "I" below the taxon names or at the upper right of the window.^n^nIf character state names are assigned, then they will by default appear in the Character Matrix Editor, as shown at right. When editing the matrix, you can enter a character state either by its name (e.g., "red") or by its state symbol (e.g., "1"). Display of the state names in the Character Matrix Editor can be turned off by unchecking Show State Names of the Display submenu of the Matrix menu of the Characer Matrix Editor. ^n^nYou can attach footnotes and more complex annotations to the characters and character states. For instance, you can request a panel for making annotations by selecting Show State Annotations in the State_Names menu of the State Names Editor.'; + setExplanation 'Characters can be assigned names, for instance by editing the column heading in the Character Matrix editor. ^n^nIf the matrix is Categorical data, there is a State Names Editor (shown below) that is available by choosing Edit State Names in the Matrix menu of the Character Matrix editor window. The State Names Editor shows characters on one axis, and states on the other. You can choose whether characters are rows or columns by hitting the double arrow at the top left of the matrix. In this window, you can edit the names of characters and their character states. You can use copy and paste to use similar character state names in different characters.^n^nYou can also edit state names in the character matrix information panel shown at the right side of the character matrix window, shown at right. This panel is available by touching on the blue "I" below the taxon names or at the upper right of the window.^n^nIf character state names are assigned, then they will by default appear in the Character Matrix Editor, as shown at right. When editing the matrix, you can enter a character state either by its name (e.g., "red") or by its state symbol (e.g., "1"). Display of the state names in the Character Matrix Editor can be turned off by unchecking Show State Names of the Display menu of the Characer Matrix Editor. ^n^nYou can attach footnotes and more complex annotations to the characters and character states. For instance, you can request a panel for making annotations by selecting Show State Annotations in the State_Names menu of the State Names Editor.'; setTitle Character_&_state_names; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Basic_Examples/characters/11-viewingStyles.nex b/Resources/examples/Basic_Examples/characters/11-viewingStyles.nex index c1b435121..c52b37ea7 100755 --- a/Resources/examples/Basic_Examples/characters/11-viewingStyles.nex +++ b/Resources/examples/Basic_Examples/characters/11-viewingStyles.nex @@ -401,7 +401,7 @@ Begin MESQUITE; setFont SanSerif; setFontSize 10; setActive; - setExplanation 'The Character Matrix editor has various options for display. These example show:^n^n-- Cells can be colored in various ways using the Color Cells submenu of the Matrix menu. For instance, they can be colored according to the character state, as shown in the sequence and continuous valued matrices, or they can be colored green if a footnote is present as shown in the categorical matrix. Colors can be assigned to cells manually using the paintbrush tool; these will be displayed if "Assigned Color" is selected in the Color Cells submenu. Also, the default background color of cells can be changed. The matrix above has dark gray as its default background color.^n^n-- Text in cells can also be colored using the Color Text submenu of the Matrix menu. For instance, the text in the categorical matrix uses color assigned by the paintbrush tool. Yellow is assigned as the color to character 1 in Snorolopa.^n^n-- Columns with individually sized widths (This can be achieved by moving the arrow cursor between the character numbers in the column headings in the Character Matrix Editors. When the cursor changes to a bar with two arrows, click and drag.)^n^n-- Fonts and font sizes can be adjusted. (This can be done via the Font and Font Size submenus in the Edit menu.)^n'; + setExplanation 'The Character Matrix editor has various options for display. These example show:^n^n-- Cells can be colored in various ways using the Color Cells submenu of the Display menu. For instance, they can be colored according to the character state, as shown in the sequence and continuous valued matrices, or they can be colored green if a footnote is present as shown in the categorical matrix. Colors can be assigned to cells manually using the paintbrush tool; these will be displayed if "Assigned Color" is selected in the Color Cells submenu. Also, the default background color of cells can be changed. The matrix above has dark gray as its default background color.^n^n-- Text in cells can also be colored using the Color Text submenu of the Display menu. For instance, the text in the categorical matrix uses color assigned by the paintbrush tool. Yellow is assigned as the color to character 1 in Snorolopa.^n^n-- Columns with individually sized widths (This can be achieved by moving the arrow cursor between the character numbers in the column headings in the Character Matrix Editors. When the cursor changes to a bar with two arrows, click and drag.)^n^n-- Fonts and font sizes can be adjusted. (This can be done via the Font and Font Size submenus in the Edit menu.)^n'; setTitle Editor_options; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Basic_Examples/characters/11a-annotations.nex b/Resources/examples/Basic_Examples/characters/11a-annotations.nex index e860da497..94ac4ad76 100644 --- a/Resources/examples/Basic_Examples/characters/11a-annotations.nex +++ b/Resources/examples/Basic_Examples/characters/11a-annotations.nex @@ -215,7 +215,7 @@ Begin MESQUITE; setFont SanSerif; setFontSize 10; setActive; - setExplanation 'Simple footnotes and more complex annotations can be used to illustrate a character matrix. Footnotes to taxa, characters, cells of the matrix and character states can be assigned and viewed in the small white area the bottom of the Character Matrix Editor, the List windows, and the State Names Editor for categorical data. For instance, in the matrix above the cell for character "knobble" in the taxon Fubonidia has a footnote, as indicated by the * in the cell of the matrix. The footnote says "This striking dimple was first noticed by Snerp (1965)". These simple footnotes are also understood by other NEXUS reading programs like MacClade.^n^nIn addition, there is now a separate system of more elaborate annotations which may include images. Here, the annotations panel is visible (e.g. made so by touching on the third button at lower left). You can see what annotations are avaliable for a cell by moving the mouse over a cell or by selecting a cell. Annotations can be attached to any taxon, character or cell of a character matrix. For instance, touch on the first cell of the matrix (the character "knobble" of the taxon Fubonidia) to see its annotatoins. The annotation may have a comment, a reference, an image, and an author. A new annotation can be made by clicking on the (+) button at the top of the window; more than one annotation can be attached to each taxon, character or cell. An image can be attached to or deleted from the annotation by touching on the (+) or trash icons beside the word "image". Labels may be created or edited by touching on the image with the I-beam tool. Labels can be moved or resized using the arrow tool, or given different styles by control-clicking on the label. The label''s pointer can be moved using the pointer tool. ^n^nThe presence of an annotation is shown by a small mark in the upper left of the cell of the matrix. The Annotations submenu of the Matrix menu contains other items to control it.'; + setExplanation 'Simple footnotes and more complex annotations can be used to illustrate a character matrix. Footnotes to taxa, characters, cells of the matrix and character states can be assigned and viewed in the small white area the bottom of the Character Matrix Editor, the List windows, and the State Names Editor for categorical data. For instance, in the matrix above the cell for character "knobble" in the taxon Fubonidia has a footnote, as indicated by the * in the cell of the matrix. The footnote says "This striking dimple was first noticed by Snerp (1965)". These simple footnotes are also understood by other NEXUS reading programs like MacClade.^n^nIn addition, there is now a separate system of more elaborate annotations which may include images. Here, the annotations panel is visible (e.g. made so by touching on the third button at lower left). You can see what annotations are avaliable for a cell by moving the mouse over a cell or by selecting a cell. Annotations can be attached to any taxon, character or cell of a character matrix. For instance, touch on the first cell of the matrix (the character "knobble" of the taxon Fubonidia) to see its annotatoins. The annotation may have a comment, a reference, an image, and an author. A new annotation can be made by clicking on the (+) button at the top of the window; more than one annotation can be attached to each taxon, character or cell. An image can be attached to or deleted from the annotation by touching on the (+) or trash icons beside the word "image". Labels may be created or edited by touching on the image with the I-beam tool. Labels can be moved or resized using the arrow tool, or given different styles by control-clicking on the label. The label''s pointer can be moved using the pointer tool. ^n^nThe presence of an annotation is shown by a small mark in the upper left of the cell of the matrix. The Annotations submenu of the Display menu contains other items to control it.'; setTitle Annotations; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Basic_Examples/characters/12-continuous.nex b/Resources/examples/Basic_Examples/characters/12-continuous.nex index 628776bbb..10e8c84c0 100755 --- a/Resources/examples/Basic_Examples/characters/12-continuous.nex +++ b/Resources/examples/Basic_Examples/characters/12-continuous.nex @@ -47,7 +47,7 @@ CHARSTATELABELS END; BEGIN NOTES; - TEXT FILE TEXT = 'Continuous data can be edited using a spreadsheet as at left. To edit a cell, touch on it with the I-beam cursor and edit it. If several cells (or a character, or a taxon) are selected, then you can use the items in the "Alter/Transform" submenu of the "Data" menu to alter or transform the data in those cells. These items may or may not include:^n^nFill: This fills the selected cells with a string typed by the user.^n^nRandom Fill (Gaussian): this fills the selected cells with random states selected from a Normal distribution.^n^nAdd Noise (Gaussian): this adds a normally-distributed value (mean 0, variance as chosen) to each of the selected cells. ^n^nLog Transform: Transforms the selected cells to contain the natural logarithm of their original values.^n^nAdd value, Multiply by value: These multiply the selected cells by, or add to them, a constant. ^n^n^n'; + TEXT FILE TEXT = 'Continuous data can be edited using a spreadsheet as at left. To edit a cell, touch on it with the I-beam cursor and edit it. If several cells (or a character, or a taxon) are selected, then you can use the items in the "Alter/Transform" submenu of the Matrix menu to alter or transform the data in those cells. These items may or may not include:^n^nFill: This fills the selected cells with a string typed by the user.^n^nRandom Fill (Gaussian): this fills the selected cells with random states selected from a Normal distribution.^n^nAdd Noise (Gaussian): this adds a normally-distributed value (mean 0, variance as chosen) to each of the selected cells. ^n^nLog Transform: Transforms the selected cells to contain the natural logarithm of their original values.^n^nAdd value, Multiply by value: These multiply the selected cells by, or add to them, a constant. ^n^n^n'; END; diff --git a/Resources/examples/Basic_Examples/continuous/08-plotTree.nex b/Resources/examples/Basic_Examples/continuous/08-plotTree.nex index 7192789a8..fe3064261 100755 --- a/Resources/examples/Basic_Examples/continuous/08-plotTree.nex +++ b/Resources/examples/Basic_Examples/continuous/08-plotTree.nex @@ -72,7 +72,7 @@ END; BEGIN NOTES; - TEXT FILE TEXT = 'The relationships of different characters and phylogeny can be visualized by plotting a tree in a character space. In the tree window at right, the terminal taxa are placed at their positions in a space of two characters. The internal nodes are placed at the positions corresponding to their reconstructed ancestral states. The internal nodes are slightly paler.^n^nBy using the two scrolls you can examine the tree plotted onto other characters. You can edit the tree to see how ancestral states are reconstructed on different trees. You might also trace a character (in the Analysis menu) to see three characters at once.'; + TEXT FILE TEXT = 'The relationships of different characters and phylogeny can be visualized by plotting a tree in a character space. In the tree window at right, the terminal taxa are placed at their positions in a space of two characters. The internal nodes are placed at the positions corresponding to their reconstructed ancestral states. The internal nodes are slightly paler.^n^nBy using the two scrolls you can examine the tree plotted onto other characters. You can edit the tree to see how ancestral states are reconstructed on different trees. You might also trace a character (in the Analysis:Tree menu) to see three characters at once.'; END; @@ -296,7 +296,7 @@ Begin MESQUITE; setFont SanSerif; setFontSize 10; setActive; - setExplanation 'The relationships of different characters and phylogeny can be visualized by plotting a tree in a character space. In the tree window at right, the terminal taxa are placed at their positions in a space of two characters. The internal nodes are placed at the positions corresponding to their reconstructed ancestral states. The internal nodes are slightly paler.^n^nBy using the two scrolls you can examine the tree plotted onto other characters. You can edit the tree to see how ancestral states are reconstructed on different trees. You might also trace a character (in the Analysis menu) to see three characters at once.'; + setExplanation 'The relationships of different characters and phylogeny can be visualized by plotting a tree in a character space. In the tree window at right, the terminal taxa are placed at their positions in a space of two characters. The internal nodes are placed at the positions corresponding to their reconstructed ancestral states. The internal nodes are slightly paler.^n^nBy using the two scrolls you can examine the tree plotted onto other characters. You can edit the tree to see how ancestral states are reconstructed on different trees. You might also trace a character (in the Analysis:Tree menu) to see three characters at once.'; setTitle Plot_tree; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Basic_Examples/introduction.nex b/Resources/examples/Basic_Examples/introduction.nex index 6091b80ac..9f1404cf9 100755 --- a/Resources/examples/Basic_Examples/introduction.nex +++ b/Resources/examples/Basic_Examples/introduction.nex @@ -58,7 +58,7 @@ Begin MESQUITE; addFileLink Viewing_phylogenies_and_gene_trees 'tree_viewing/01-treeWindow.nex'; addFileLink Editing_and_manipulating_trees 'tree_manipulation/01-editingTrees.nex'; addFileLink Charts 'charts/01-charts.nex'; - addWebLink Mesquite_Manual 'mesquite:docs/mesquite/manual.html'; + addWebLink Mesquite_Manual 'http://mesquiteproject.wikispaces.com'; addFileLink Return_to_main_introduction '../Introduction.nex'; endTell; showWindow; diff --git a/Resources/examples/Basic_Examples/tree_manipulation/06-branchSelection.nex b/Resources/examples/Basic_Examples/tree_manipulation/06-branchSelection.nex index 8e8299c3f..c2e2a26e1 100755 --- a/Resources/examples/Basic_Examples/tree_manipulation/06-branchSelection.nex +++ b/Resources/examples/Basic_Examples/tree_manipulation/06-branchSelection.nex @@ -220,7 +220,7 @@ Begin MESQUITE; setFont SanSerif; setFontSize 10; setActive; - setExplanation 'Selecting branches or taxa in the tree window can be done by the standard arrow tool, or by special tools for selecting clades.^n^nIf no branches are selected, then the entire tree looks normal. However, when some branches are selected, the other branches (those not selected) are dimmed, as shown here. This can be useful to highlight branches both on trees and in other contexts such as Node Scattergram. It also allows other modules to restrict calculations to only the selected branches, for example.^n^nTaxon selection can be seen by the highlighting of a taxon name. For instance, here Fubonidia is selected.^n^nTo select branches or taxa you can:^n-- with the standard arrow tool, click outside of any branches or taxon names and drag the selection rectangle to encompass the branches & taxa you want to select. A branch is selected if the node at the descendant end of the branch is included in the rectangle. A taxon is selected if any part of its name is included in the rectangle.^n^n-- with the standard arrow tool, click directly on a branch or taxon name.^n^nIf you hold down the Control (or Command) key while selecting, the newly selected branches/taxa will be added to the set selected (unless the newly selected branches/taxa had been already selected, in which case they will be deselected).^n^nIf you hold down the Shift key while selecting, the selection will shrinkwrap by clade: all branches/taxa will be selected in the smallest clade including all selected branches/taxa.^n ^nAlternatively, you can use the Select Clade or Select Taxa in Clade tools, which appear as small arrows pointing to either a white clade or a dashed clade. These select either all the branches in the clade, or all the terminal taxa in the clade.^n^nDepending on what Mesquite modules are installed, there may be tools in the tool palette other than those explained in these example files. You can learn about these other tools by touching on their buttons in the tool palette and reading their explanations in the explanation area at the bottom of the Tree Window. You can also select the Menu & Control Explanations menu item in the Windows menu of the Tree Window for a web page explaining the tools. '; + setExplanation 'Selecting branches or taxa in the tree window can be done by the standard arrow tool, or by special tools for selecting clades.^n^nIf no branches are selected, then the entire tree looks normal. However, when some branches are selected, the other branches (those not selected) are dimmed, as shown here. This can be useful to highlight branches both on trees and in other contexts such as Node Scattergram. It also allows other modules to restrict calculations to only the selected branches, for example.^n^nTaxon selection can be seen by the highlighting of a taxon name. For instance, here Fubonidia is selected.^n^nTo select branches or taxa you can:^n-- with the standard arrow tool, click outside of any branches or taxon names and drag the selection rectangle to encompass the branches & taxa you want to select. A branch is selected if the node at the descendant end of the branch is included in the rectangle. A taxon is selected if any part of its name is included in the rectangle.^n^n-- with the standard arrow tool, click directly on a branch or taxon name.^n^nIf you hold down the Control (or Command) key while selecting, the newly selected branches/taxa will be added to the set selected (unless the newly selected branches/taxa had been already selected, in which case they will be deselected).^n^nIf you hold down the Shift key while selecting, the selection will shrinkwrap by clade: all branches/taxa will be selected in the smallest clade including all selected branches/taxa.^n ^nAlternatively, you can use the Select Clade or Select Taxa in Clade tools, which appear as small arrows pointing to either a white clade or a dashed clade. These select either all the branches in the clade, or all the terminal taxa in the clade.^n^nDepending on what Mesquite modules are installed, there may be tools in the tool palette other than those explained in these example files. You can learn about these other tools by touching on their buttons in the tool palette and reading their explanations in the explanation area at the bottom of the Tree Window. You can also select the Menu & Control Explanations menu item in the View menu of the Tree Window for a web page explaining the tools. '; setTitle 'Selecting Taxa/Branches'; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Basic_Examples/tree_viewing/02-treeForm.nex b/Resources/examples/Basic_Examples/tree_viewing/02-treeForm.nex index d217701c6..6b972199f 100755 --- a/Resources/examples/Basic_Examples/tree_viewing/02-treeForm.nex +++ b/Resources/examples/Basic_Examples/tree_viewing/02-treeForm.nex @@ -217,7 +217,7 @@ Begin MESQUITE; setFont SanSerif; setFontSize 10; setActive; - setExplanation 'This file shows the tree window with an alternative style of tree drawing. Three changes have been made from the previous file: (1) "Square Tree" was selected from the Tree Form submenu in the Drawing menu of the Tree window, (2) "Right" was selected from the Orientation submenu of the Drawing menu, and 18 was selected as the Font Size from the submenu in the Drawing menu (there is another Font Size submenu under Edit, but that changes font size elsewhere in the window). These represent some of the options for changing the appearance of the tree. Other options can be found in the bottom half of the Tree menu. These include changing the background color, the color of branches, the width of the lines used to draw the branches, and whether the branches are drawn with lengths proportional to the stored branch lengths.^n^nThese different options are typically available in various contexts in which trees are drawn, although they may appear under different menus. Also, there may be additional options available depending on what Tree Form you''re using.^n^nExplore the different tree forms and options! (Some tree forms, e.g. PlotTree3D or Contained Associates, may not work if they depend on information not currently available). The next file shows some of the possible ways to draw trees.'; + setExplanation 'This file shows the tree window with an alternative style of tree drawing. Three changes have been made from the previous file: (1) "Square Tree" was selected from the Tree Form submenu in the Display menu of the Tree window, (2) "Right" was selected from the Orientation submenu of the Display menu, and 18 was selected as the Font Size from the submenu in the Display menu (there is another Font Size submenu under Edit, but that changes font size elsewhere in the window). These represent some of the options for changing the appearance of the tree. Other options can be found in the bottom half of the Tree menu. These include changing the background color, the color of branches, the width of the lines used to draw the branches, and whether the branches are drawn with lengths proportional to the stored branch lengths.^n^nThese different options are typically available in various contexts in which trees are drawn, although they may appear under different menus. Also, there may be additional options available depending on what Tree Form you''re using.^n^nExplore the different tree forms and options! (Some tree forms, e.g. PlotTree3D or Contained Associates, may not work if they depend on information not currently available). The next file shows some of the possible ways to draw trees.'; setTitle Drawing_form; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Basic_Examples/tree_viewing/03-drawingSize.nex b/Resources/examples/Basic_Examples/tree_viewing/03-drawingSize.nex index 2508e14f2..22fc2fb71 100755 --- a/Resources/examples/Basic_Examples/tree_viewing/03-drawingSize.nex +++ b/Resources/examples/Basic_Examples/tree_viewing/03-drawingSize.nex @@ -219,7 +219,7 @@ Begin MESQUITE; setFont SanSerif; setFontSize 10; setActive; - setExplanation 'For trees with large numbers of terminal taxa, it may be inconvenient to fit the tree drawing into the small rectangle of the window. Mesquite can display the tree by drawing it in a larger field over which you can scroll. (Mesquite does this automatically by default if you start up a tree window for a taxa block with many taxa.)^n^nIn the tree window shown here, only a small portion of the tree is shown. You can scroll over the rest of the tree using the scroll bars, or by grabbing and moving the white rectangle in the bird''s eye view in the tool palette.^n^nTo turn on and off the mode that shows the tree in a large, scrollable field, select "Size To Window" in the Drawing menu of the Tree Window. When "Size to Window" is turned on, the tree is compressed to fit in the visible space of the window. When it is turned off, a larger field is used. To change the size of the field, select "Drawing Size..." from the Drawing menu.'; + setExplanation 'For trees with large numbers of terminal taxa, it may be inconvenient to fit the tree drawing into the small rectangle of the window. Mesquite can display the tree by drawing it in a larger field over which you can scroll. (Mesquite does this automatically by default if you start up a tree window for a taxa block with many taxa.)^n^nIn the tree window shown here, only a small portion of the tree is shown. You can scroll over the rest of the tree using the scroll bars, or by grabbing and moving the white rectangle in the bird''s eye view in the tool palette.^n^nTo turn on and off the mode that shows the tree in a large, scrollable field, select "Size To Window" in the Display menu of the Tree Window. When "Size to Window" is turned on, the tree is compressed to fit in the visible space of the window. When it is turned off, a larger field is used. To change the size of the field, select "Drawing Size..." from the Display menu.'; setTitle Drawing_size; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Character_Simulations/00-introduction.nex b/Resources/examples/Character_Simulations/00-introduction.nex index 29d344cdf..ba420071e 100755 --- a/Resources/examples/Character_Simulations/00-introduction.nex +++ b/Resources/examples/Character_Simulations/00-introduction.nex @@ -29,7 +29,7 @@ Begin MESQUITE; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; - addWebLink Manual 'mesquite:docs/mesquite/AncestralStates/AncestralStates.html'; + addWebLink Manual 'http://mesquiteproject.wikispaces.com/Ancestral+States'; addFileLink Return_to_main_Introduction '../Introduction.nex'; endTell; showWindow; diff --git a/Resources/examples/Character_Simulations/02-gammaTest.nex b/Resources/examples/Character_Simulations/02-gammaTest.nex index 599336421..2d9c4c085 100755 --- a/Resources/examples/Character_Simulations/02-gammaTest.nex +++ b/Resources/examples/Character_Simulations/02-gammaTest.nex @@ -559,7 +559,7 @@ Begin MESQUITE; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; - addWebLink Manual 'mesquite:docs/mesquite/RandomSimul/simDNA.html'; + addWebLink Manual 'http://mesquiteproject.wikispaces.com/Simulating+DNA+Evolution'; endTell; showWindow; endTell; diff --git a/Resources/examples/Character_Simulations/03-TestingTreeStructure.nex b/Resources/examples/Character_Simulations/03-TestingTreeStructure.nex index e95c01b1e..048aed58c 100755 --- a/Resources/examples/Character_Simulations/03-TestingTreeStructure.nex +++ b/Resources/examples/Character_Simulations/03-TestingTreeStructure.nex @@ -578,7 +578,7 @@ Begin MESQUITE; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Return_to_intro; - addWebLink Manual 'mesquite:docs/mesquite/studies/study001/index.html'; + addWebLink Explanation_of_example 'http://mesquiteproject.wikispaces.com/Testing+monophyly+of+a+group+of+beetles'; endTell; showWindow; endTell; diff --git a/Resources/examples/Coalescence/00-introduction.nex b/Resources/examples/Coalescence/00-introduction.nex index 8801c73b4..ad143d3e5 100755 --- a/Resources/examples/Coalescence/00-introduction.nex +++ b/Resources/examples/Coalescence/00-introduction.nex @@ -42,7 +42,7 @@ Begin MESQUITE; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; - addWebLink Manual 'mesquite:docs/mesquite/popGen/popGen.html'; + addWebLink Manual 'http://mesquiteproject.wikispaces.com/Gene+Trees'; addFileLink Return_to_main_Introduction '../Introduction.nex'; endTell; showWindow; diff --git a/Resources/examples/Coalescence/01-coalescence.nex b/Resources/examples/Coalescence/01-coalescence.nex index 10a3ce6e8..b37bfa026 100755 --- a/Resources/examples/Coalescence/01-coalescence.nex +++ b/Resources/examples/Coalescence/01-coalescence.nex @@ -46,7 +46,7 @@ END; BEGIN NOTES; - TEXT FILE TEXT = 'This file shows a tree window with gene trees simulated by coalescence within a population. Scroll through trees to see other simulated gene trees. The organisms simulated are haploids. The effective population size is by default 10000. To change this, choose Set Ne from the Tree menu.^n^nTo go to next example file: click the button in the "Go To File" window.^n^nTo duplicate this file: Select "New" from the File menu, and indicate the name of the set of taxa (genes) and the number of taxa (gene copies). In the list window that will be shown, you may rename the taxa. Then, select the set of taxa from the "Tree Window" submenu of the Taxa&Trees menu to show a tree window. Initially, default trees will be shown. Go to the Tree menu of the tree window, and select "Coalescent trees" from "Simulated Trees" submenu of the the "Tree source" submenu of the "Tree" menu.^n^nTo make it pretty, choose "Curvogram" from the "Tree form" submenu of the Tree menu, then choose "Show Branch Lengths" from the Tree menu. To make it so all trees are displayed on the same scale, choose Fixed Scaling and indicate a number about 2-4 times the effective population size. ^n'; + TEXT FILE TEXT = 'This file shows a tree window with gene trees simulated by coalescence within a population. Scroll through trees to see other simulated gene trees. The organisms simulated are haploids. The effective population size is by default 10000. To change this, choose Set Ne from the Tree menu.^n^nTo go to next example file: click the button in the "Go To File" window.^n^nTo duplicate this file: Select "New" from the File menu, and indicate the name of the set of taxa (genes) and the number of taxa (gene copies). In the list window that will be shown, you may rename the taxa. Then, select the set of taxa from the "Tree Window" submenu of the Taxa&Trees menu to show a tree window. Initially, default trees will be shown. Go to the Tree menu of the tree window, and select "Coalescent trees" from "Simulated Trees" submenu of the the "Tree source" submenu of the "Tree" menu.^n^nTo make it pretty, choose "Curvogram" from the "Tree form" submenu of the Display menu, then choose "Branches Proportional To Lengths" from the Display menu. To make it so all trees are displayed on the same scale, choose Fixed Scaling and indicate a number about 2-4 times the effective population size. ^n'; END; @@ -217,7 +217,7 @@ Begin MESQUITE; setFont SanSerif; setFontSize 10; setActive; - setExplanation 'This file shows a tree window with gene trees simulated by coalescence within a population. Scroll through trees to see other simulated gene trees. The organisms simulated are haploids. The effective population size is by default 10000. To change this, choose Set Ne from the Coalescent Simulation submenu of the Tree menu.^n^nTo duplicate this file: Select "New" from the File menu, and indicate the name of the set of taxa (genes) and the number of taxa (gene copies). In the list window that will be shown, you may rename the taxa. Then, select the set of taxa from the "Tree Window" submenu of the Taxa&Trees menu to show a tree window. Initially, default trees will be shown. Go to the Tree menu of the tree window, and select "Coalescent trees" from "Simulated Trees" submenu of the the "Tree Source" submenu of the "Tree" menu.^n^nTo make it pretty, choose "Curvogram" from the "Tree Form" submenu of the Drawing menu, then choose "Branches Proportional to Lengths" from the Drawing menu. To make it so all trees are displayed on the same scale, choose Fixed Scaling and indicate a number about 2-4 times the effective population size. ^n'; + setExplanation 'This file shows a tree window with gene trees simulated by coalescence within a population. Scroll through trees to see other simulated gene trees. The organisms simulated are haploids. The effective population size is by default 10000. To change this, choose Set Ne from the Coalescent Simulation submenu of the Tree menu.^n^nTo duplicate this file: Select "New" from the File menu, and indicate the name of the set of taxa (genes) and the number of taxa (gene copies). In the list window that will be shown, you may rename the taxa. Then, select the set of taxa from the "Tree Window" submenu of the Taxa&Trees menu to show a tree window. Initially, default trees will be shown. Go to the Tree menu of the tree window, and select "Coalescent trees" from "Simulated Trees" submenu of the the "Tree Source" submenu of the "Tree" menu.^n^nTo make it pretty, choose "Curvogram" from the "Tree Form" submenu of the Display menu, then choose "Branches Proportional to Lengths" from the Display menu. To make it so all trees are displayed on the same scale, choose Fixed Scaling and indicate a number about 2-4 times the effective population size. ^n'; setTitle Simulated_gene_trees; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Coalescence/03-coalescenceDepth.nex b/Resources/examples/Coalescence/03-coalescenceDepth.nex index fbec8388b..aad8d8f06 100755 --- a/Resources/examples/Coalescence/03-coalescenceDepth.nex +++ b/Resources/examples/Coalescence/03-coalescenceDepth.nex @@ -46,7 +46,7 @@ END; BEGIN NOTES; - TEXT FILE TEXT = 'This file contains a small set of taxa representing gene copies within a population. The chart shows the depth to the last coalescence in a sample of 100 gene trees simulated by coalescence. ^n^nTo change the number of trees sampled, go to the chart window and select "Number of Trees" from the Chart menu. The effective population size (haploid) is 1000; change this by choosing "Set Ne" from the Chart window..^n^nTo duplicate this file: Select "New" from the file menu. Once the file is established, choose "Tree Values" from the Charts menu. Indicate "Tree Depth" as the value, then "Simulate Trees" as the tree source, "Coalescent trees" as the simulator. Then, choose "Fixed Number of Groups" under "Grouping on X" and set number to 50.^n'; + TEXT FILE TEXT = 'This file contains a small set of taxa representing gene copies within a population. The chart shows the depth to the last coalescence in a sample of 100 gene trees simulated by coalescence. ^n^nTo change the number of trees sampled, go to the chart window and select "Number of Trees" from the Chart menu. The effective population size (haploid) is 1000; change this by choosing "Set Ne" from the Chart window..^n^nTo duplicate this file: Select "New" from the File menu. Once the file is established, choose "Tree Values" from the Charts menu. Indicate "Tree Depth" as the value, then "Simulate Trees" as the tree source, "Coalescent trees" as the simulator. Then, choose "Fixed Number of Groups" under "Grouping on X" and set number to 50.^n'; END; diff --git a/Resources/examples/Correlation/00b-pagel94Hominids.nex b/Resources/examples/Correlation/00b-pagel94Hominids.nex index f08b94f7a..783f97db2 100644 --- a/Resources/examples/Correlation/00b-pagel94Hominids.nex +++ b/Resources/examples/Correlation/00b-pagel94Hominids.nex @@ -380,12 +380,12 @@ Begin MESQUITE; tell It; endTell; setActive; - setExplanation 'Pagel''s 1994 method uses likelihood ratio tests to determine if two categorical characters are correlated. Mesquite requires the two characters to be binary (0,1) characters. To turn on an analysis, choose Pagel 94 Analysis from the Analysis menu of the Tree Window.^n^nThis is an example from Pagel''s Discrete manual. Two characters appear to be associated as shown in the Mirror tree window above. At right is the analysis. To estimate the significance value, select Present P value in the Pagel94 menu of the tree window at right. ^n^nBelow is a link to the section in manual describing the method.'; + setExplanation 'Pagel''s 1994 method uses likelihood ratio tests to determine if two categorical characters are correlated. Mesquite requires the two characters to be binary (0,1) characters. To turn on an analysis, choose Pagel 94 Analysis from the Analysis:Tree menu of the Tree Window.^n^nThis is an example from Pagel''s Discrete manual. Two characters appear to be associated as shown in the Mirror tree window above. At right is the analysis. To estimate the significance value, select Present P value in the Pagel94 menu of the tree window at right. ^n^nBelow is a link to the section in manual describing the method.'; setTitle 'Pagel''s method'; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; - addWebLink Page_in_manual 'docs/mesquite/CharacterEvolution/ProcessCharEvol.html#pagel94'; + addWebLink Page_in_manual 'http://mesquiteproject.wikispaces.com/Processes+of+Character+Evolution#pagel94'; endTell; showWindow; endTell; diff --git a/Resources/examples/Diversification/01-lineagesThroughTime.nex b/Resources/examples/Diversification/01-lineagesThroughTime.nex index e8cb16498..1b6a6dfd4 100644 --- a/Resources/examples/Diversification/01-lineagesThroughTime.nex +++ b/Resources/examples/Diversification/01-lineagesThroughTime.nex @@ -357,7 +357,7 @@ Begin MESQUITE; setLocation 1 22; setFont SanSerif; setFontSize 10; - setExplanation 'Available in the Analysis menu of the Tree Window is Lineages Through Time, which plots the logarithm of the number of lineages in a tree through time. With a pure birth process, one expects the plot to be a straight line.'; + setExplanation 'Available in the Analysis:Tree menu of the Tree Window is Lineages Through Time, which plots the logarithm of the number of lineages in a tree through time. With a pure birth process, one expects the plot to be a straight line.'; setTitle Lineages_Through_Time; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Diversification/02-speciationExtinctionRates.nex b/Resources/examples/Diversification/02-speciationExtinctionRates.nex index 32941a79c..0c2a42890 100644 --- a/Resources/examples/Diversification/02-speciationExtinctionRates.nex +++ b/Resources/examples/Diversification/02-speciationExtinctionRates.nex @@ -339,7 +339,7 @@ Begin MESQUITE; setLocation 7 654; setFont SanSerif; setFontSize 10; - setExplanation 'A likelihood analysis can give estimates of speciation and extinction rates. Here a method reduced from Maddison, Midford & Otto''s BiSSE method is used to calculate likelihoods for a simple birth/death model, where lambda = birth = speciation rate, and mu = death = extinction rate.^n^nThis calculation is available as Diversification (Char. Indep.) in the Analysis menu of the Tree Window.'; + setExplanation 'A likelihood analysis can give estimates of speciation and extinction rates. Here a method reduced from Maddison, Midford & Otto''s BiSSE method is used to calculate likelihoods for a simple birth/death model, where lambda = birth = speciation rate, and mu = death = extinction rate.^n^nThis calculation is available as Diversification (Char. Indep.) in the Analysis:Tree menu of the Tree Window.'; setTitle Speciation_and_Extinction_Rates; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Diversification/03-sisterDiversification.nex b/Resources/examples/Diversification/03-sisterDiversification.nex index 8abdc7a14..3d5b6f76f 100644 --- a/Resources/examples/Diversification/03-sisterDiversification.nex +++ b/Resources/examples/Diversification/03-sisterDiversification.nex @@ -372,7 +372,7 @@ Begin MESQUITE; setLocation 18 715; setFont SanSerif; setFontSize 10; - setExplanation 'This and the following two example files answer the question: are rates of diversification (speciation and extinction) associated with the state of a binary character?^n^nThis analysis, available by chosing Character-Associated Diversification from the Analysis menu of the Tree window, uses the simple sign test analysis for independent sister clade pairs in the style of Mitter, Farrell and Wiegmann 1988. The analysis automatically finds sister clade pairs that contrast in the character state of the binary character. Each clade must be completely uniform in state. The number of pairs favoring state 1 (i.e. the clade with state 1 is larger) and favoring state 0 are counted and used as the basis for the sign test.'; + setExplanation 'This and the following two example files answer the question: are rates of diversification (speciation and extinction) associated with the state of a binary character?^n^nThis analysis, available by chosing Character-Associated Diversification from the Analysis:Tree menu of the Tree window, uses the simple sign test analysis for independent sister clade pairs in the style of Mitter, Farrell and Wiegmann 1988. The analysis automatically finds sister clade pairs that contrast in the character state of the binary character. Each clade must be completely uniform in state. The number of pairs favoring state 1 (i.e. the clade with state 1 is larger) and favoring state 0 are counted and used as the basis for the sign test.'; setTitle Sister_Clade_comparison; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Diversification/04-BiSSEViewer.nex b/Resources/examples/Diversification/04-BiSSEViewer.nex index 8ea59719c..7418bdb54 100644 --- a/Resources/examples/Diversification/04-BiSSEViewer.nex +++ b/Resources/examples/Diversification/04-BiSSEViewer.nex @@ -400,7 +400,7 @@ Begin MESQUITE; getToolPalette; tell It; endTell; - setExplanation 'Here the BiSSE likelihood calculations are done. When you have a tree and a binary character (here stored in a matrix), you can select Character-Associated Diversification from the Analysis menu of the Tree window, and indicate you want BiSSE Speciation/Extinction likelihood to be calculated. The BiSSE method is described by Maddison, Midford and Otto 2007.^n^nIn the panel are shown the estimated values of the speciation (lambda) and extinction (mu) rates for states 0 and 1, and the transition rates between states 0 and 1 (q''s). In the Parameters dialog box (in the Diversification(Ch) menu) you can set and constrain parameters. Here, mu1 is constrainted equal to mu0 and q10 is constrained equal to q01.^n^nTo do a likelihood ratio test, change the parameters to an alternative set of constaints, and compare the likelihood. ^n^nA chi-square approximation appears reasonable for significance of the likelihood ratio, but you can also generate a null distribution of log likelihood differences using simulations. The manual outlines the procedure.'; + setExplanation 'Here the BiSSE likelihood calculations are done. When you have a tree and a binary character (here stored in a matrix), you can select Character-Associated Diversification from the Analysis:Tree menu of the Tree window, and indicate you want BiSSE Speciation/Extinction likelihood to be calculated. The BiSSE method is described by Maddison, Midford and Otto 2007.^n^nIn the panel are shown the estimated values of the speciation (lambda) and extinction (mu) rates for states 0 and 1, and the transition rates between states 0 and 1 (q''s). In the Parameters dialog box (in the Diversification(Ch) menu) you can set and constrain parameters. Here, mu1 is constrainted equal to mu0 and q10 is constrained equal to q01.^n^nTo do a likelihood ratio test, change the parameters to an alternative set of constaints, and compare the likelihood. ^n^nA chi-square approximation appears reasonable for significance of the likelihood ratio, but you can also generate a null distribution of log likelihood differences using simulations. The manual outlines the procedure.'; setTitle BiSSE_Diversification; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Molecular/00-introduction.nex b/Resources/examples/Molecular/00-introduction.nex index 324f4e218..8395b7c12 100755 --- a/Resources/examples/Molecular/00-introduction.nex +++ b/Resources/examples/Molecular/00-introduction.nex @@ -42,7 +42,7 @@ Begin MESQUITE; toggleFileNames off; setPrevButtonName Previous; setNextButtonName Next; - addWebLink Simulations 'mesquite:docs/mesquite/RandomSimul/simDNA.html'; + addWebLink Simulations 'http://mesquiteproject.wikispaces.com/Simulating+DNA+Evolution'; addFileLink Coalescence '../Coalescence/00-introduction.nex'; addFileLink Return_to_main_Introduction '../Introduction.nex'; endTell; diff --git a/Resources/examples/Molecular/02-gcContentMatrix.nex b/Resources/examples/Molecular/02-gcContentMatrix.nex index 2934cb524..9d676e0f7 100644 --- a/Resources/examples/Molecular/02-gcContentMatrix.nex +++ b/Resources/examples/Molecular/02-gcContentMatrix.nex @@ -502,7 +502,7 @@ Begin MESQUITE; setFont SanSerif; setFontSize 10; setActive; - setExplanation 'Here the sequence matrix is colored not by colors for A, C, G and T, but by GC content using a moving window analysis. For each site in each sequence, the density of blue shows the average GC content over a moving window of bases to the left and right of the site. The moving window width can be changed using the "Moving Window" menu item in the Matrix menu of the character matrix editor window.'; + setExplanation 'Here the sequence matrix is colored not by colors for A, C, G and T, but by GC content using a moving window analysis. For each site in each sequence, the density of blue shows the average GC content over a moving window of bases to the left and right of the site. The moving window width can be changed using the "Moving Window" menu item in the Display menu of the character matrix editor window.'; setTitle GC_bias; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Multivariate_Continuous/08-anoles.nex b/Resources/examples/Multivariate_Continuous/08-anoles.nex index adc4e4684..0e450cf57 100755 --- a/Resources/examples/Multivariate_Continuous/08-anoles.nex +++ b/Resources/examples/Multivariate_Continuous/08-anoles.nex @@ -522,7 +522,7 @@ Begin MESQUITE; setFont SanSerif; setFontSize 10; setActive; - setExplanation 'The tree is now plotted in a 3-dimensional space of principal components. You can rotate the view using the green bars, and change the magnification using the red bar. The larger spots are closer to you. Enjoy your flight through morphospace.^n^nNote that the species from Cuba are highlighted. If you turn on "Use Fog" in the Drawing menu, and de-select the Cuban species in the tree window above, the more distant the point in the third dimension, the more it will be dimmed.'; + setExplanation 'The tree is now plotted in a 3-dimensional space of principal components. You can rotate the view using the green bars, and change the magnification using the red bar. The larger spots are closer to you. Enjoy your flight through morphospace.^n^nNote that the species from Cuba are highlighted. If you turn on "Use Fog" in the Display menu, and de-select the Cuban species in the tree window above, the more distant the point in the third dimension, the more it will be dimmed.'; setTitle 3D_plot; toggleFileNames off; setPrevButtonName Previous; diff --git a/Resources/examples/Multivariate_Continuous/20-landmarks.nex b/Resources/examples/Multivariate_Continuous/20-landmarks.nex index d3cea007a..27b964481 100755 --- a/Resources/examples/Multivariate_Continuous/20-landmarks.nex +++ b/Resources/examples/Multivariate_Continuous/20-landmarks.nex @@ -265,7 +265,7 @@ Begin MESQUITE; setFont SanSerif; setFontSize 10; setActive; - setExplanation 'Once the data matrix was entered, we then selected "Landmark Drawings" from the Analysis menu of the Tree window. We chose Stored Matrices.^n^nNote that the most recent common ancestor of Box 3 and Box 4 have the corner somewhat punched in, and the change to Box 3 is indicated by the distortion grid calculated by thin plate splines.^n^nYou''ll notice that some of the points are at the edge of the drawings and not easily visible. The Landmark Drawings module is Mesquite is in its early developmental stages. We''re planning to allow you to show distortions against immediate ancestor, or against the root of the tree.^n^nBy the way, the pictures of fish in the original Landmark example were shown by the Projector module (see the tool in the tool palette). The Projector module can associate pictures to taxa if you hold down the Control key while clicking on a taxon name. It then displays them or turns off display when you use the projector and touch on the taxon name (without Control). '; + setExplanation 'Once the data matrix was entered, we then selected "Landmark Drawings" from the Analysis:Tree menu of the Tree window. We chose Stored Matrices.^n^nNote that the most recent common ancestor of Box 3 and Box 4 have the corner somewhat punched in, and the change to Box 3 is indicated by the distortion grid calculated by thin plate splines.^n^nYou''ll notice that some of the points are at the edge of the drawings and not easily visible. The Landmark Drawings module is Mesquite is in its early developmental stages. We''re planning to allow you to show distortions against immediate ancestor, or against the root of the tree.^n^nBy the way, the pictures of fish in the original Landmark example were shown by the Projector module (see the tool in the tool palette). The Projector module can associate pictures to taxa if you hold down the Control key while clicking on a taxon name. It then displays them or turns off display when you use the projector and touch on the taxon name (without Control). '; setTitle 'Landmarks cont''d.'; toggleFileNames off; setPrevButtonName Previous; diff --git a/Source/mesquite/Mesquite.java b/Source/mesquite/Mesquite.java index 2829f7678..0a46aa057 100644 --- a/Source/mesquite/Mesquite.java +++ b/Source/mesquite/Mesquite.java @@ -36,11 +36,11 @@ public class Mesquite extends MesquiteTrunk { /*.................................................................................................................*/ public String getCitation() { - return "Maddison, W.P. & D.R. Maddison. 2014. Mesquite: A modular system for evolutionary analysis. Version 3.0beta. http://mesquiteproject.org"; + return "Maddison, W.P. & D.R. Maddison. 2014. Mesquite: A modular system for evolutionary analysis. Version 3.0beta3. http://mesquiteproject.org"; } /*.................................................................................................................*/ public String getVersion() { - return "3.0 beta 2"; + return "3.0 beta 3"; } /*.................................................................................................................*/ @@ -153,7 +153,7 @@ public void init() configurations = new ListableVector(); packages = new ListableVector(); if (isPrerelease()) - errorReportURL = "http://mesquiteproject.org/cgi-bin/mesquiteFeedbackPrerelease.py"; + errorReportURL = "http://mesquiteproject.org/pyMesquiteFeedbackPrerelease"; /* (1) Look for Mesquite.pref file in .Mesquite_Prefs folder of user.home. If exists, read it @@ -681,6 +681,8 @@ else if (prefsFile.exists() || prefsFileXML.exists()) { if (verboseStartup) System.out.println("main init 32 "); if (debugMode) MesquiteMessage.println("startup time: " + (System.currentTimeMillis()-startingTime)); + if (MesquiteTrunk.debugMode) + addMenuItem(helpMenu, "Test Error Reporting", makeCommand("testError", this)); } /*.................................................................................................................*/ @@ -2199,6 +2201,9 @@ else if (checker.compare(this.getClass(), "Dumps to the log a list of all module } } + else if (checker.compare(this.getClass(), "Sends Error to Server", null, commandName, "testError")) { + reportProblemToHome("TESTING ERROR REPORTING"); + } else return super.doCommand(commandName, arguments, checker); diff --git a/Source/mesquite/lib/MesquiteFrame.java b/Source/mesquite/lib/MesquiteFrame.java index b446ef909..af12d05f4 100644 --- a/Source/mesquite/lib/MesquiteFrame.java +++ b/Source/mesquite/lib/MesquiteFrame.java @@ -43,6 +43,7 @@ public class MesquiteFrame extends Frame implements Commandable { int num = 0; int id = 0; + int leftPoptile = -1; Panel main; private Panel resources; Panel poptile; @@ -145,7 +146,12 @@ public void setOwnerModule(MesquiteModule mb){ //mesquite or basic file coordina public void dispose() { if (alreadyDisposed) return; - removeAll(); + try{ + removeAll(); + } + catch (Exception e){ + //strange things can happen with threading... + } alreadyDisposed = true; if (activeWindow == this) activeWindow = null; @@ -924,12 +930,14 @@ else if (oldInsetTop!=insets.top || oldInsetBottom !=insets.bottom || oldInsetRi main.setVisible(true); if (effectivePoptileWidth>0){ poptile.setVisible(true); + leftPoptile = main.getWidth() + main.getX(); poptile.setBounds(main.getWidth() + main.getX()+effectivePBETWEENWIDTH, insets.top + tabHeight, effectivePoptileWidth, getBounds().height - insets.top - insets.bottom - tabHeight ); pBetweenPanel.setBounds(main.getWidth() + main.getX(), insets.top + tabHeight, effectivePBETWEENWIDTH, getBounds().height - insets.top - insets.bottom - tabHeight); pBetweenPanel.setVisible(true); poptile.doLayout(); } else { + leftPoptile = -1; poptile.setVisible(false); poptile.setBounds(0,0,0,0); pBetweenPanel.setVisible(false); @@ -976,12 +984,14 @@ else if (oldInsetTop!=insets.top || oldInsetBottom !=insets.bottom || oldInsetRi main.setBounds(effectiveResourcesWidth + insets.left, insets.top, getBounds().width - insets.left - insets.right - effectiveResourcesWidth -effectivePoptileWidth-effectivePBETWEENWIDTH, getBounds().height - insets.top - insets.bottom ); if (effectivePoptileWidth>0){ poptile.setVisible(true); + leftPoptile = main.getWidth() + main.getX(); poptile.setBounds(main.getWidth() + main.getX()+effectivePBETWEENWIDTH, insets.top, effectivePoptileWidth, getBounds().height - insets.top - insets.bottom ); pBetweenPanel.setBounds(main.getWidth() + main.getX(), insets.top, effectivePBETWEENWIDTH, getBounds().height - insets.top - insets.bottom); pBetweenPanel.setVisible(true); poptile.doLayout(); } else { + leftPoptile = -1; poptile.setVisible(false); poptile.setBounds(0,0,0,0); pBetweenPanel.setVisible(false); @@ -1482,7 +1492,11 @@ void drawAndFillTab (Graphics g, MesquiteWindow w, int tabLeft, int tabRight, in int iconWidth = 0; if (icon != null || w == frame.projectWindow) iconWidth = 20; - drawTab(g, whichTab, frontness, tabLeft, tabRight, panelHeight, projectPanelWidth, w == frame.projectWindow, w instanceof SystemWindow); + + + + + drawTab(g, whichTab, w, frontness, tabLeft, tabRight, panelHeight, projectPanelWidth, w == frame.projectWindow, w instanceof SystemWindow); if (w == frame.projectWindow) g.setClip(tabLeft-1, 0, tabRight -tabLeft+1, panelHeight-tabBottomLineHeight-1); else @@ -1872,7 +1886,16 @@ else if (mediumize != null && w.isMinimized()) } /*.................................................................................................................*/ - void drawTab(Graphics g, int whichTab, int frontness, int tabLeft, int tabRight, int height, int projectPanelWidth, boolean isProjectTab, boolean isMesquiteWindow){ + void drawTab(Graphics g, int whichTab, MesquiteWindow w, int frontness, int tabLeft, int tabRight, int height, int projectPanelWidth, boolean isProjectTab, boolean isMesquiteWindow){ + // to figure out whether strong lower edge of tab is needed, find out left edge of poptile, if showing + boolean forceThickLine = false; + if (frame.leftPoptile>0){ + boolean popped = w.getTileLocation() == MesquiteFrame.POPTILE; + if (popped && tabRightframe.leftPoptile) + forceThickLine = true; + } int roundness = 10; int top = 4; if (!(g instanceof Graphics2D)) @@ -1889,7 +1912,12 @@ void drawTab(Graphics g, int whichTab, int frontness, int tabLeft, int tabRight, g2.drawRoundRect(tabLeft, top, tabRight - tabLeft - 2, height+60, roundness, roundness); //highlight edge of tab g2.setColor(Color.black); //black g2.drawRoundRect(tabLeft-1, top-1, tabRight - tabLeft, height+62, roundness+1, roundness+1); //primary edge of tab - if (!isMesquiteWindow){ + if (forceThickLine){ + g2.setColor(ColorTheme.getContentFrame()); + g2.fillRect(tabLeft-1, height-4, tabRight-tabLeft+1, 4); + g2.drawLine(tabLeft-1, height-1, tabRight, height-1); + } + else if (!isMesquiteWindow){ g2.setColor(Color.lightGray); g2.drawLine(tabLeft-1, top+height-5, tabRight, top+height-5); //line under the tab } @@ -1902,8 +1930,16 @@ void drawTab(Graphics g, int whichTab, int frontness, int tabLeft, int tabRight, // g.drawRoundRect(tabLeft, top, tabRight - tabLeft - 2, height+60, roundness, roundness); g2.setColor(Color.darkGray); g2.drawRoundRect(tabLeft-1, top-1, tabRight - tabLeft, height+62, roundness+1, roundness+1); //primary edge of tab + + if (forceThickLine){ + g2.setColor(ColorTheme.getContentFrame()); + g2.fillRect(tabLeft-1, height-4, tabRight-tabLeft+1, 4); + g2.drawLine(tabLeft-1, height-1, tabRight, height-1); + } + else { g2.setColor(Color.lightGray); g2.drawLine(tabLeft-1, top+height-5, tabRight, top+height-5);//line under the tab + } } } else { //a tab for a window hidden in the background diff --git a/Source/mesquite/lib/MesquiteModule.java b/Source/mesquite/lib/MesquiteModule.java index 500c71601..229bf698b 100644 --- a/Source/mesquite/lib/MesquiteModule.java +++ b/Source/mesquite/lib/MesquiteModule.java @@ -68,16 +68,17 @@ public abstract class MesquiteModule extends EmployerEmployee implements Command /*.................................................................................................................*/ /** returns build date of the Mesquite system (e.g., "22 September 2003") */ public final static String getBuildDate() { - return "25 August 2014"; + return "27 August 2014"; } /*.................................................................................................................*/ /** returns version of the Mesquite system */ public final static String getMesquiteVersion() { - return "3.0 beta 2"; + return "3.0 beta 3"; } /*.................................................................................................................*/ - //this should be mesquiteFeedbackXXX.py where XXX is version as integer if a release version (e.g. mesquiteFeedback273.py) - public static String errorReportURL = "http://mesquiteproject.org/cgi-bin/mesquiteFeedback275.py"; + /*.................................................................................................................*/ + //As of 3.0 this becomes fixed, not changing with version) + public static String errorReportURL = "http://mesquiteproject.org/pyMesquiteFeedback"; /*.................................................................................................................*/ /** returns letter in the build number of the Mesquite system (e.g., "e" of "e58") */ public final static String getBuildLetter() { @@ -89,7 +90,7 @@ public final static String getBuildLetter() { public final static int getBuildNumber() { //as of 26 Dec 08, build naming changed from letter + number to just number. Accordingly j105 became 473, based on // highest build numbers of d51+e81+g97+h66+i69+j105 + 3 for a, b, c - return 634; + return 639; } //0.95.80 14 Mar 01 - first beta release //0.96 2 April 01 beta - second beta release @@ -1122,7 +1123,7 @@ public void reportCrashToHome(Throwable e, String s) { report += "\n\n\n"; report += logWindow.getText(); report += "\n\n\n"; - reportToHome(report); + reportProblemToHome(report); MesquiteTrunk.errorReportedToHome = true; } /*.................................................................................................................*/ @@ -1139,7 +1140,7 @@ public void reportableAlert(String s, String details) { else { boolean q = AlertDialog.query(containerOfModule(), "Error", s + "\n\nPlease send a report of this error to the Mesquite server, to help us understand how often this happens. None of your data will be sent." + addendum, "OK, Send Report", "Close without sending"); if (q){ - reportToHome(s + "\n\n" + details + "\n\n@@@@@@@@@@@@@@@\n\n" + logWindow.getText()); + reportProblemToHome(s + "\n\n" + details + "\n\n@@@@@@@@@@@@@@@\n\n" + logWindow.getText()); MesquiteTrunk.errorReportedToHome = true; } } @@ -1170,7 +1171,7 @@ public void postBean(String notes, boolean notifyUser) { if (numPairs>=4) pairs[3] = new NameValuePair("notes", StringUtil.tokenize(notes)); - if (BaseHttpRequestMaker.sendInfoToServer(pairs, "http://mesquiteproject.org/cgi-bin/mesquiteBeans.py")){ + if (BaseHttpRequestMaker.sendInfoToServer(pairs, "http://mesquiteproject.org/pyMesquiteBeans", null)){ if (notifyUser) MesquiteMessage.println("Bean sent to Mesquite server."); } @@ -1185,7 +1186,7 @@ public void postBean() { } /*.................................................................................................................*/ /** Displays an alert in connection to an exception*/ - public void reportToHome(String s) { + public void reportProblemToHome(String s) { String email = MesquiteString.queryString(containerOfModule(), "E-mail for follow up?", "[Optional] Thank you for reporting this problem. " + "In order to fix this bug, we may need to contact you for more details. " + "If you don't mind our contacting you, please indicate your email address here. Thanks. " + @@ -1198,8 +1199,14 @@ public void reportToHome(String s) { report += "EMAIL NOT GIVEN\n\n"; report += s + "\n"; - if (BaseHttpRequestMaker.postToServer(report, errorReportURL)) - MesquiteMessage.println("Report sent to Mesquite server. Thank you!"); + StringBuffer response = new StringBuffer(); + if (BaseHttpRequestMaker.postToServer(report, errorReportURL, response)){ + String r = response.toString(); + if (r == null || r.indexOf("mq3rs")<0) + discreetAlert("Sorry, Mesquite was unable to communicate properly with the server to send the report."); + else + AlertDialog.noticeHTML(containerOfModule(),"Note", r, 600, 400, null); + } else discreetAlert("Sorry, Mesquite was unable to connect to the server to send the report."); diff --git a/Source/mesquite/lib/MesquiteWindow.java b/Source/mesquite/lib/MesquiteWindow.java index 1fdf021ba..39ee2635d 100644 --- a/Source/mesquite/lib/MesquiteWindow.java +++ b/Source/mesquite/lib/MesquiteWindow.java @@ -1976,7 +1976,12 @@ public void setVisible(boolean vis, boolean scripting) { setVisible(vis); } public void removeAll(){ + try { outerContents.removeAll(); + } + catch (Exception e){ + // sometimes exceptions are thrown, possible because of mistimed threads + } } /** Shows the window */ public void setVisible(boolean vis) { diff --git a/Source/mesquite/lib/PhoneHomeUtil.java b/Source/mesquite/lib/PhoneHomeUtil.java index 8adcae4c0..024e57e9d 100644 --- a/Source/mesquite/lib/PhoneHomeUtil.java +++ b/Source/mesquite/lib/PhoneHomeUtil.java @@ -188,7 +188,7 @@ public static int getVersion(MesquiteModuleInfo mmi) { return mmi.getVersionInt(); } /*.................................................................................................................*/ - public static void processSingleNotice(MesquiteModuleInfo mmi, StringBuffer notices, MesquiteInteger countNotices, int forMesquiteVersionLessOrEqual, + public static void processSingleNotice(MesquiteModuleInfo mmi, StringBuffer notices, boolean hideFromDialog, MesquiteInteger countNotices, int forMesquiteVersionLessOrEqual, int noticeNumber, String noticeType, String message, int lastVersionNoticed, int lastNoticeForMyVersion, int lastNotice, PhoneHomeRecord phoneHomeRecord, Vector osVector, int forBuildNumberEqualOrGreater, int forBuildNumberEqualOrLess, int forBuildNumberExactly, @@ -302,12 +302,14 @@ else if (updateOnly != null && !"false".equalsIgnoreCase(updateOnly.getValue()) boolean skip = false; if (noticeType != null && noticeType.equalsIgnoreCase("alert")){ //notices.append( countNotices.toString() + ". " + message + "
\n"); - notices.append(message + "
\n"); - countNotices.increment(); + if (!hideFromDialog){ + notices.append(message + "
\n"); + countNotices.increment(); + } } //vvvvvvvvvvvvvvvvvvvv====INSTALL/UPDATE SYSTEM ====vvvvvvvvvvvvvvvvvvvv else if (noticeType != null && noticeType.equalsIgnoreCase("update")){ - if (v != null){ + if (v != null && !hideFromDialog){ MesquiteString java = (MesquiteString)v.getElement("java"); MesquiteString requiredName = (MesquiteString)v.getElement("requires"); MesquiteString requiredPath = (MesquiteString)v.getElement("requiredPath"); @@ -525,6 +527,10 @@ private static String handleMessages(boolean adHoc, String noticesFromHome, Mesq int forBuildNumberEqualOrGreater = MesquiteInteger.fromString(messageElement.elementText("forBuildNumberEqualOrGreater")); int forBuildNumberEqualOrLess = MesquiteInteger.fromString(messageElement.elementText("forBuildNumberEqualOrLess")); int noticeNumber = MesquiteInteger.fromString(messageElement.elementText("noticeNumber")); + String hideFromDialogString = messageElement.elementText("hideFromDialog"); + boolean hideFromDialog = false; + if (hideFromDialogString != null && hideFromDialogString.equalsIgnoreCase("true")) + hideFromDialog = true; String messageType = messageElement.elementText("messageType"); String message = messageElement.elementText("message"); Vector osVector = null; @@ -593,7 +599,7 @@ private static String handleMessages(boolean adHoc, String noticesFromHome, Mesq //^^^^^^^^^^^^^^^^====install/update system ====^^^^^^^^^^^^^^^^ // process other notice tags here if they are present - processSingleNotice(mmi, notices, countNotices, forMesquiteVersionLessOrEqual, noticeNumber, messageType, message, lastVersionNoticed, lastNoticeForMyVersion, lastNotice,phoneHomeRecord, osVector, forBuildNumberEqualOrGreater, forBuildNumberEqualOrLess, forBuildNumberExactly, forPackageVersionEqualOrGreater, forPackageVersionEqualOrLess, forPackageVersionExactly, v, adHoc); + processSingleNotice(mmi, notices, hideFromDialog, countNotices, forMesquiteVersionLessOrEqual, noticeNumber, messageType, message, lastVersionNoticed, lastNoticeForMyVersion, lastNotice,phoneHomeRecord, osVector, forBuildNumberEqualOrGreater, forBuildNumberEqualOrLess, forBuildNumberExactly, forPackageVersionEqualOrGreater, forPackageVersionEqualOrLess, forPackageVersionExactly, v, adHoc); } //INSTALLER: here go through updateRecords to figure out which are already installed, which not; which have newer versions already installed, etc. diff --git a/Source/mesquite/minimal/Simplicity/Simplicity.java b/Source/mesquite/minimal/Simplicity/Simplicity.java index 85d535682..ecdc61147 100644 --- a/Source/mesquite/minimal/Simplicity/Simplicity.java +++ b/Source/mesquite/minimal/Simplicity/Simplicity.java @@ -68,8 +68,6 @@ public boolean startJob(String arguments, Object condition, boolean hiredByName) if (InterfaceManager.enabled) MesquiteTrunk.mesquiteTrunk.addCheckMenuItemToSubmenu(MesquiteTrunk.fileMenu, MesquiteTrunk.defaultsSubmenu,"Lock In Simple Mode", makeCommand("toggleLockSimplicity", this), lockSimplicity); InterfaceManager.simplicityModule = this; //remember me - // if (MesquiteTrunk.debugMode) - // mesquiteTrunk.addMenuItem(MesquiteTrunk.fileMenu, "Test Error Reporting", makeCommand("testError", this)); loadPreferences(); return true; } @@ -499,9 +497,6 @@ else if (checker.compare(this.getClass(), "Loads a simplification", null, comman InterfaceManager.reset(); } } - else if (checker.compare(this.getClass(), "Sends Error to Server", null, commandName, "testError")) { - reportToHome("TESTING ERROR REPORTING"); - } else if (checker.compare(this.getClass(), "Deletes a simplification", null, commandName, "delete")) { int i = MesquiteInteger.fromString( new Parser(arguments)); if (MesquiteInteger.isCombinable(i)) diff --git a/Source/mesquite/tol/lib/BaseHttpRequestMaker.java b/Source/mesquite/tol/lib/BaseHttpRequestMaker.java index 993562bc1..0b5bb6c38 100644 --- a/Source/mesquite/tol/lib/BaseHttpRequestMaker.java +++ b/Source/mesquite/tol/lib/BaseHttpRequestMaker.java @@ -53,9 +53,9 @@ public class BaseHttpRequestMaker { private static final int MAX_BYTES = 5000000; - public static final String MESQUITE_VERSION_URI = "http://mesquiteproject.org/cgi-bin/mesquiteStartup.py"; + public static final String MESQUITE_VERSION_URI = "http://mesquiteproject.org/pyMesquiteStartup"; - public static boolean contactServer(String s, String URI) { + public static boolean contactServer(String s, String URI, StringBuffer response) { HttpClient client = new HttpClient(); GetMethod method = new GetMethod(URI); NameValuePair[] pairs = new NameValuePair[1]; @@ -65,9 +65,9 @@ public static boolean contactServer(String s, String URI) { method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, false)); - return executeMethod(client, method); + return executeMethod(client, method, response); } - public static boolean postToServer(String s, String URI) { + public static boolean postToServer(String s, String URI, StringBuffer response) { HttpClient client = new HttpClient(); PostMethod method = new PostMethod(URI); method.addParameter("OS", StringEscapeUtils.escapeHtml(System.getProperty("os.name") + "\t" + System.getProperty("os.version"))); @@ -80,9 +80,9 @@ public static boolean postToServer(String s, String URI) { method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, false)); - return executeMethod(client, method); + return executeMethod(client, method, response); } - public static boolean sendInfoToServer(NameValuePair[] pairs, String URI) { + public static boolean sendInfoToServer(NameValuePair[] pairs, String URI, StringBuffer response) { HttpClient client = new HttpClient(); GetMethod method = new GetMethod(URI); method.setQueryString(pairs); @@ -90,9 +90,9 @@ public static boolean sendInfoToServer(NameValuePair[] pairs, String URI) { method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, false)); - return executeMethod(client, method); + return executeMethod(client, method, response); } - protected static boolean executeMethod(HttpClient client, HttpMethod method) { + protected static boolean executeMethod(HttpClient client, HttpMethod method, StringBuffer response) { boolean success = true; try { // Execute the method. @@ -104,7 +104,8 @@ protected static boolean executeMethod(HttpClient client, HttpMethod method) { // Read the response body. byte[] responseBody = method.getResponseBody(); - + if (response != null) + response.append(new String(responseBody)); // Deal with the response. // Use caution: ensure correct character encoding and is not binary data System.out.println(new String(responseBody)); diff --git a/Source/mesquite/trunk/PhoneHomeThread.java b/Source/mesquite/trunk/PhoneHomeThread.java index 5b15c68e4..61838ecc7 100644 --- a/Source/mesquite/trunk/PhoneHomeThread.java +++ b/Source/mesquite/trunk/PhoneHomeThread.java @@ -17,6 +17,7 @@ import java.net.*; import java.util.*; import java.io.*; + import mesquite.lib.*; import mesquite.*; import mesquite.lib.duties.*; @@ -40,8 +41,19 @@ public void run() { public void checkForMessagesFromAllHomes(){ //MesquiteTrunk.incrementMenuResetSuppression(); try { - if (!MesquiteTrunk.suppressVersionReporting) - BaseHttpRequestMaker.contactServer(Integer.toString(MesquiteTrunk.getBuildNumber()), "http://mesquiteproject.org/cgi-bin/mesquiteStartup.py"); + if (!MesquiteTrunk.suppressVersionReporting){ + StringBuffer response = new StringBuffer(); + BaseHttpRequestMaker.contactServer(Integer.toString(MesquiteTrunk.getBuildNumber()), "http://mesquiteproject.org/pyMesquiteStartup", response); + String r = response.toString(); + //if mq3rs is included in response, then this is real response + if (!StringUtil.blank(r) && r.indexOf("mq3rs")>=0){ + if (r.indexOf("mq3rsshow")>=0){ //show dialog at startup!!!! + AlertDialog.noticeHTML(MesquiteTrunk.mesquiteTrunk.containerOfModule(),"Note", r, 600, 400, null); + } + } + else if (MesquiteTrunk.debugMode) + MesquiteMessage.warnProgrammer("no response or incorrect response from server on startup"); + } } catch (Throwable t){ }