Commit 97524f1b authored by whitlocb's avatar whitlocb
Browse files

Improved variable menus, etc.


git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@2756 18c085ea-50e0-402c-830e-de6fd14e8384
parent 46f5ea4a
......@@ -261,6 +261,9 @@ $0 = shift @ARGV;
# Dave Pugmire, Mon Dec 17 12:42:34 EST 2007
# Add qsub/aprun launch option.
#
# Brad Whitlock, Thu Dec 20 17:19:56 PST 2007
# Added -debug-malloc for the Mac.
#
###############################################################################
use POSIX qw(ceil);
......@@ -622,6 +625,33 @@ $fullusage = "$usage
and the visit component name are treated as args
to the tool.
-debug-malloc <args> <comp>
Run the component with the libMallocDebug library
on MacOS X systems. The libMallocDebug library
lets the MallocDebug application attach to the
instrumented application and retrieve memory
allocation statistics. The -debug-malloc flag
also sets up the environment for the leaks and
heap tools.
Printing heap allocations:
% visit -debug-malloc gui &
% Get the gui's <pid>
% heap <pid>
Printing memory leaks:
% visit -debug-malloc gui &
% Get the gui's <pid>
% leaks <pid>
Run with MallocDebug:
Perl does not seem to be happy with libMallocDebug
so you can run the GUI like this:
% visit -cli
>>> OpenGUI('-debug-malloc', 'MallocDebug', 'gui')
Connect to the gui with MallocDebug and do your
sampling.
-numrestarts <#> Number of attempts to restart a failed engine.
-quiet Don't print the Running message.
-protocol Print the definitions of the state objects that
......@@ -674,6 +704,8 @@ $debug_valgrind = "";
@debug_valgrind_args = ();
$debug_strace = "";
@debug_strace_args = ();
$debug_malloc = "";
@debug_malloc_args = ();
$add_movie_args = 0;
$add_diff_args = 0;
$add_diffsum_args = 0;
......@@ -794,7 +826,7 @@ while (scalar(@ARGV) > 0) {
}
}
}
elsif ($arg eq "-strace" ) {
elsif ($arg eq "-strace" ) {
$debug_strace = shift;
if (!IsAVisItComponentName($debug_strace))
{
......@@ -815,6 +847,38 @@ while (scalar(@ARGV) > 0) {
}
}
}
elsif ($arg eq "-debug-malloc" ) {
$debug_malloc = shift;
while (!IsAVisItComponentName($debug_malloc))
{
push @debug_malloc_args, $debug_malloc;
$debug_malloc = shift;
}
if (scalar(@debug_malloc_args) == 0)
{
push @visitargs, "-debug-malloc", $debug_malloc;
}
else
{
push @visitargs, "-debug-malloc", @debug_malloc_args, $debug_malloc;
}
if ($exe_name eq $debug_malloc)
{
$ENV{MallocStackLogging} = "1";
if (scalar(@debug_malloc_args) > 0 and $debug_malloc_args[0] eq "MallocDebug")
{
$ENV{DYLD_INSERT_LIBRARIES} = "/usr/lib/libMallocDebug.A.dylib";
}
}
else
{
delete $ENV{MallocStackLogging};
if (scalar(@debug_malloc_args) > 0 and $debug_malloc_args[0] eq "MallocDebug")
{
delete $ENV{DYLD_INSERT_LIBRARIES};
}
}
}
elsif ($arg eq "-guesshost" ) { $guesshost = 1; }
elsif ($arg eq "-setupenv" ) { $visit_sets_up_environment = 1; }
elsif ($arg eq "-quiet" ) { $quiet = 1; push @visitargs, "-quiet"; }
......
......@@ -76,6 +76,9 @@ AnimationAttributes::PlaybackMode_FromString(const std::string &s, AnimationAttr
return false;
}
// Type map format string
const char *AnimationAttributes::TypeMapFormatString = "bii";
// ****************************************************************************
// Method: AnimationAttributes::AnimationAttributes
//
......@@ -85,13 +88,14 @@ AnimationAttributes::PlaybackMode_FromString(const std::string &s, AnimationAttr
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
// ****************************************************************************
AnimationAttributes::AnimationAttributes() : AttributeSubject("bii")
AnimationAttributes::AnimationAttributes() :
AttributeSubject(AnimationAttributes::TypeMapFormatString)
{
pipelineCachingMode = false;
timeout = 1;
......@@ -107,13 +111,14 @@ AnimationAttributes::AnimationAttributes() : AttributeSubject("bii")
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
// ****************************************************************************
AnimationAttributes::AnimationAttributes(const AnimationAttributes &obj) : AttributeSubject("bii")
AnimationAttributes::AnimationAttributes(const AnimationAttributes &obj) :
AttributeSubject(AnimationAttributes::TypeMapFormatString)
{
pipelineCachingMode = obj.pipelineCachingMode;
timeout = obj.timeout;
......@@ -131,7 +136,7 @@ AnimationAttributes::AnimationAttributes(const AnimationAttributes &obj) : Attri
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -151,7 +156,7 @@ AnimationAttributes::~AnimationAttributes()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -178,7 +183,7 @@ AnimationAttributes::operator = (const AnimationAttributes &obj)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -202,7 +207,7 @@ AnimationAttributes::operator == (const AnimationAttributes &obj) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -223,7 +228,7 @@ AnimationAttributes::operator != (const AnimationAttributes &obj) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -244,7 +249,7 @@ AnimationAttributes::TypeName() const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -272,7 +277,7 @@ AnimationAttributes::CopyAttributes(const AttributeGroup *atts)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -298,7 +303,7 @@ AnimationAttributes::CreateCompatible(const std::string &tname) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -325,7 +330,7 @@ AnimationAttributes::NewInstance(bool copy) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -334,9 +339,9 @@ AnimationAttributes::NewInstance(bool copy) const
void
AnimationAttributes::SelectAll()
{
Select(0, (void *)&pipelineCachingMode);
Select(1, (void *)&timeout);
Select(2, (void *)&playbackMode);
Select(ID_pipelineCachingMode, (void *)&pipelineCachingMode);
Select(ID_timeout, (void *)&timeout);
Select(ID_playbackMode, (void *)&playbackMode);
}
///////////////////////////////////////////////////////////////////////////////
......@@ -352,7 +357,7 @@ AnimationAttributes::SelectAll()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -369,19 +374,19 @@ AnimationAttributes::CreateNode(DataNode *parentNode, bool completeSave, bool fo
// Create a node for AnimationAttributes.
DataNode *node = new DataNode("AnimationAttributes");
if(completeSave || !FieldsEqual(0, &defaultObject))
if(completeSave || !FieldsEqual(ID_pipelineCachingMode, &defaultObject))
{
addToParent = true;
node->AddNode(new DataNode("pipelineCachingMode", pipelineCachingMode));
}
if(completeSave || !FieldsEqual(1, &defaultObject))
if(completeSave || !FieldsEqual(ID_timeout, &defaultObject))
{
addToParent = true;
node->AddNode(new DataNode("timeout", timeout));
}
if(completeSave || !FieldsEqual(2, &defaultObject))
if(completeSave || !FieldsEqual(ID_playbackMode, &defaultObject))
{
addToParent = true;
node->AddNode(new DataNode("playbackMode", PlaybackMode_ToString(playbackMode)));
......@@ -406,7 +411,7 @@ AnimationAttributes::CreateNode(DataNode *parentNode, bool completeSave, bool fo
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -454,21 +459,21 @@ void
AnimationAttributes::SetPipelineCachingMode(bool pipelineCachingMode_)
{
pipelineCachingMode = pipelineCachingMode_;
Select(0, (void *)&pipelineCachingMode);
Select(ID_pipelineCachingMode, (void *)&pipelineCachingMode);
}
void
AnimationAttributes::SetTimeout(int timeout_)
{
timeout = timeout_;
Select(1, (void *)&timeout);
Select(ID_timeout, (void *)&timeout);
}
void
AnimationAttributes::SetPlaybackMode(AnimationAttributes::PlaybackMode playbackMode_)
{
playbackMode = playbackMode_;
Select(2, (void *)&playbackMode);
Select(ID_playbackMode, (void *)&playbackMode);
}
///////////////////////////////////////////////////////////////////////////////
......@@ -506,7 +511,7 @@ AnimationAttributes::GetPlaybackMode() const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -517,10 +522,10 @@ AnimationAttributes::GetFieldName(int index) const
{
switch (index)
{
case 0: return "pipelineCachingMode";
case 1: return "timeout";
case 2: return "playbackMode";
default: return "invalid index";
case ID_pipelineCachingMode: return "pipelineCachingMode";
case ID_timeout: return "timeout";
case ID_playbackMode: return "playbackMode";
default: return "invalid index";
}
}
......@@ -533,7 +538,7 @@ AnimationAttributes::GetFieldName(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -544,10 +549,10 @@ AnimationAttributes::GetFieldType(int index) const
{
switch (index)
{
case 0: return FieldType_bool;
case 1: return FieldType_int;
case 2: return FieldType_enum;
default: return FieldType_unknown;
case ID_pipelineCachingMode: return FieldType_bool;
case ID_timeout: return FieldType_int;
case ID_playbackMode: return FieldType_enum;
default: return FieldType_unknown;
}
}
......@@ -560,7 +565,7 @@ AnimationAttributes::GetFieldType(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -571,10 +576,10 @@ AnimationAttributes::GetFieldTypeName(int index) const
{
switch (index)
{
case 0: return "bool";
case 1: return "int";
case 2: return "enum";
default: return "invalid index";
case ID_pipelineCachingMode: return "bool";
case ID_timeout: return "int";
case ID_playbackMode: return "enum";
default: return "invalid index";
}
}
......@@ -587,7 +592,7 @@ AnimationAttributes::GetFieldTypeName(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -600,17 +605,17 @@ AnimationAttributes::FieldsEqual(int index_, const AttributeGroup *rhs) const
bool retval = false;
switch (index_)
{
case 0:
case ID_pipelineCachingMode:
{ // new scope
retval = (pipelineCachingMode == obj.pipelineCachingMode);
}
break;
case 1:
case ID_timeout:
{ // new scope
retval = (timeout == obj.timeout);
}
break;
case 2:
case ID_playbackMode:
{ // new scope
retval = (playbackMode == obj.playbackMode);
}
......
......@@ -50,7 +50,7 @@
// Notes: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jan 13 08:12:06 PDT 2005
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -111,10 +111,21 @@ public:
// User-defined methods
virtual void ProcessOldVersions(DataNode *parentNode, const char *configVersion);
// IDs that can be used to identify fields in case statements
enum {
ID_pipelineCachingMode = 0,
ID_timeout,
ID_playbackMode
};
private:
bool pipelineCachingMode;
int timeout;
int playbackMode;
// Static class format string for type map.
static const char *TypeMapFormatString;
};
#endif
......@@ -278,7 +278,7 @@ const char *AnnotationAttributes::TypeMapFormatString = "bbbbbbbbbddddddddddddii
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Nov 19 11:34:12 PDT 2007
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -389,7 +389,7 @@ AnnotationAttributes::AnnotationAttributes() :
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Nov 19 11:34:12 PDT 2007
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -510,7 +510,7 @@ AnnotationAttributes::AnnotationAttributes(const AnnotationAttributes &obj) :
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Nov 19 11:34:12 PDT 2007
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -530,7 +530,7 @@ AnnotationAttributes::~AnnotationAttributes()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Nov 19 11:34:12 PDT 2007
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -653,7 +653,7 @@ AnnotationAttributes::operator = (const AnnotationAttributes &obj)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Nov 19 11:34:12 PDT 2007
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -773,7 +773,7 @@ AnnotationAttributes::operator == (const AnnotationAttributes &obj) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Nov 19 11:34:12 PDT 2007
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -794,7 +794,7 @@ AnnotationAttributes::operator != (const AnnotationAttributes &obj) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Nov 19 11:34:12 PDT 2007
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -815,7 +815,7 @@ AnnotationAttributes::TypeName() const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Nov 19 11:34:12 PDT 2007
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -843,7 +843,7 @@ AnnotationAttributes::CopyAttributes(const AttributeGroup *atts)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Nov 19 11:34:12 PDT 2007
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -869,7 +869,7 @@ AnnotationAttributes::CreateCompatible(const std::string &tname) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Nov 19 11:34:12 PDT 2007
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -896,7 +896,7 @@ AnnotationAttributes::NewInstance(bool copy) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Nov 19 11:34:12 PDT 2007
// Creation: Thu Dec 20 09:40:32 PDT 2007
//
// Modifications:
//
......@@ -905,105 +905,105 @@ AnnotationAttributes::NewInstance(bool copy) const
void
AnnotationAttributes::SelectAll()
{
Select(0, (void *)&axesFlag2D);
Select(1, (void *)&axesAutoSetTicks2D);
Select(2, (void *)&labelAutoSetScaling2D);
Select(3, (void *)&xAxisLabels2D);
Select(4, (void *)&yAxisLabels2D);
Select(5, (void *)&xAxisTitle2D);
Select(6, (void *)&yAxisTitle2D);
Select(7, (void *)&xGridLines2D);
Select(8, (void *)&yGridLines2D);
Select(9, (void *)&xMajorTickMinimum2D);
Select(10, (void *)&yMajorTickMinimum2D);
Select(11, (void *)&xMajorTickMaximum2D);
Select(12, (void *)&yMajorTickMaximum2D);
Select(13, (void *)&xMajorTickSpacing2D);
Select(14, (void *)&yMajorTickSpacing2D);
Select(15, (void *)&xMinorTickSpacing2D);
Select(16, (void *)&yMinorTickSpacing2D);
Select(17, (void *)&xLabelFontHeight2D);
Select(18, (void *)&yLabelFontHeight2D);
Select(19, (void *)&xTitleFontHeight2D);
Select(20, (void *)&yTitleFontHeight2D);
Select(21, (void *)&xLabelScaling2D);
Select(22, (void *)&yLabelScaling2D);
Select(23, (void *)&axesLineWidth2D);
Select(24, (void *)&axesTickLocation2D);
Select(25, (void *)&axesTicks2D);
Select(26, (void *)&xAxisUserTitle2D);
Select(27, (void *)&yAxisUserTitle2D);
Select(28, (void *)&xAxisUserTitleFlag2D);
Select(29, (void *)&yAxisUserTitleFlag2D);
Select(30, (void *)&xAxisUserUnits2D);
Select(31, (void *)&yAxisUserUnits2D);
Select(32, (void *)&xAxisUserUnitsFlag2D);
Select(33, (void *)&yAxisUserUnitsFlag2D);
Select(34, (void *)&axesFlag);
Select(35, (void *)&axesAutoSetTicks);
Select(36, (void *)&labelAutoSetScaling);
Select(37, (void *)&xAxisLabels);
Select(38, (void *)&yAxisLabels);
Select(39, (void *)&zAxisLabels);
Select(40, (void *)&xAxisTitle);
Select(41, (void *)&yAxisTitle);
Select(42, (void *)&zAxisTitle);
Select(43, (void *)&xGridLines);
Select(44, (void *)&yGridLines);
Select(45, (void *)&zGridLines);
Select(46, (void *)&xAxisTicks);
Select(47, (void *)&yAxisTicks);
Select(48, (void *)&zAxisTicks);
Select(49, (void *)&xMajorTickMinimum);
Select(50, (void *)&yMajorTickMinimum);
Select(51, (void *)&zMajorTickMinimum);
Select(52, (void *)&xMajorTickMaximum);
Select(53, (void *)&yMajorTickMaximum);
Select(54, (void *)&zMajorTickMaximum);
Select(55, (void *)&xMajorTickSpacing);
Select(56, (void *)&yMajorTickSpacing);
Select(57, (void *)&zMajorTickSpacing);
Select(58, (void *)&xMinorTickSpacing);
Select(59, (void *)&yMinorTickSpacing);
Select(60, (void *)&zMinorTickSpacing);
Select(61, (void *)&xLabelFontHeight);
Select(62, (void *)&yLabelFontHeight);
Select(63, (void *)&zLabelFontHeight);
Select(64, (void *)&xTitleFontHeight);
Select(65, (void *)&yTitleFontHeight);
Select(66, (void *)&zTitleFontHeight);
Select(67, (void *)&xLabelScaling);
Select(68, (void *)&yLabelScaling);
Select(69, (void *)&zLabelScaling);
Select(70, (void *)&xAxisUserTitle);
Select(71, (void *)&yAxisUserTitle);
Select(72, (void *)&zAxisUserTitle);
Select(73, (void *)&xAxisUserTitleFlag);
Select(74, (void *)&yAxisUserTitleFlag);
Select(75, (void *)&zAxisUserTitleFlag);
Select(76, (void *)&xAxisUserUnits);
Select(77, (void *)&yAxisUserUnits);
Select(78, (void *)&zAxisUserUnits);
Select(79, (void *)&xAxisUserUnitsFlag);
Select(80, (void *)&yAxisUserUnitsFlag);
Select(81, (void *)&zAxisUserUnitsFlag);
Select(82, (void *)&axesTickLocation);
Select(83, (void *)&axesType);
Select(84, (void *)&triadFlag);
Select(85, (void *)&bboxFlag);
Select(86, (void *)&backgroundColor);
Select(87, (void *)&foregroundColor);
Select(88, (void *)&gradientBackgroundStyle);
Select(89, (void *)&gradientColor1);
Select(90, (void *)&gradientColor2);