diff --git a/TODO b/TODO
index bb3b430ee..c72e6be08 100644
--- a/TODO
+++ b/TODO
@@ -1,6 +1,8 @@
Known Bugs
+- Dialog widget values cannot easily bet set now - create widgets at parse time?
+- Dialogs are displayed after load when loading models from CLI, and dialog 'ghost' always appears no matter what
- Closing a loaded forcefield while atom type names are displayed on atoms causes crash
- Function arguments can be passed to array-requiring paths without complaint (e.g. old p.com, now a function)
- Rebonding model also folds atoms, making --nofold irrelevant
@@ -16,6 +18,8 @@
Current TODO
+- Context-sensitivity of messages - e.g. pattern name (select pattern atoms), failed pattern creation (select bad atom)
+- Easier access (menu items?) to atom shift and reorder commands
- Saving of movies for vibrations.
- PovRay export
- Save forcefield needs to be able to distinguish between types and uatypes, and 'convert' data is not yet written.
diff --git a/data/partitions/cylinderz b/data/partitions/cylinderz
index 569422ce3..7d03be539 100644
--- a/data/partitions/cylinderz
+++ b/data/partitions/cylinderz
@@ -10,7 +10,7 @@ int finegrid[3] = { 100,100,100 };
int npartitions = 2;
# A partition may contain options set through the defaultDialog as follows
-global double x = 0.5, y = 0.5, r = 0.1;
+global double x = 0.5, y = 0.5, r = 0.2;
int partitionOptions()
{
Dialog ui = createDialog("CylinderX Scheme Options");
@@ -20,9 +20,9 @@ int partitionOptions()
ui.addDoubleSpin("r", "R", 0.001, 1.0, 0.1, r);
if (ui.show())
{
- x = ui.asInteger("x");
- y = ui.asInteger("y");
- r = ui.asInteger("r");
+ x = ui.asDouble("x");
+ y = ui.asDouble("y");
+ r = ui.asDouble("r");
return TRUE;
}
else return FALSE;
diff --git a/src/main/aten_partitions.cpp b/src/main/aten_partitions.cpp
index 4e1f4daa2..f1da9e859 100644
--- a/src/main/aten_partitions.cpp
+++ b/src/main/aten_partitions.cpp
@@ -137,16 +137,17 @@ bool Aten::openPartition(const char *filename)
// Construct partitions Program...
PartitioningScheme *ps = partitioningSchemes_.add();
bool success = ps->schemeDefinition().generateFromFile(filename, filename, FALSE);
- if (success) success = ps->initialise();
+// if (success) success =
- if (success)
+ if ((!success) || (!ps->initialise()))
{
- msg.print("Failed to load Partitions from '%s'...\n", filename);
+ msg.print("Failed to load partition from '%s'...\n", filename);
failedPartitioningSchemes_.add()->set( filename );
partitioningSchemes_.remove(ps);
msg.exit("Aten::openPartition");
return FALSE;
}
+
msg.exit("Aten::openPartition");
return TRUE;
}
diff --git a/src/main/version.h b/src/main/version.h
index d69b8a5b5..6a074792e 100644
--- a/src/main/version.h
+++ b/src/main/version.h
@@ -23,8 +23,8 @@
#define ATEN_VERSION_H
#define ATENVERSION "1.8"
-#define ATENREVISION "1753"
-#define ATENDATE "Mon 31 Oct - 10:45"
+#define ATENREVISION "1754"
+#define ATENDATE "Wed 02 Nov - 15:50"
#define ATENURL "http://aten.googlecode.com/svn/trunk"
#endif
diff --git a/src/methods/partition.cpp b/src/methods/partition.cpp
index 48ea6d35f..03d2461d5 100644
--- a/src/methods/partition.cpp
+++ b/src/methods/partition.cpp
@@ -321,6 +321,13 @@ bool PartitioningScheme::initialise()
}
else hasOptions_ = FALSE;
+ // Run main partition tree so all variables / globals are set
+ if (!schemeDefinition_.mainProgram()->execute(rv))
+ {
+ msg.print("Error: Failed to run through partitioning scheme code.\n");
+ return FALSE;
+ }
+
// Now can set up basic partition list
partitions_.clear();
for (int n = 0; n