Changeset 16133
- Timestamp:
- 2008-06-24T18:16:15+12:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gli/trunk/src/org/greenstone/gatherer/gui/OptionsPane.java
r14240 r16133 69 69 static final public char CANCELLED = 'c'; 70 70 static final public char UNKNOWN = 'x'; 71 static final public char SCHEDULED = 'd'; 71 72 72 73 static private int BUILD = 0; 73 74 static private int IMPORT = 1; 74 static private int MINIMUM_ROWS = 11; 75 static private int SCHEDULE = 2; 76 static private int MINIMUM_ROWS = 15; 75 77 76 78 /** All process messages are written to this log text area. */ … … 82 84 private ScriptOptions build_options = null; 83 85 private ScriptOptions import_options = null; 86 private ScriptOptions schedule_options = null; 84 87 85 88 private FileEntry file_entry = null; … … 93 96 94 97 /** The default constructor creates the few session length options, but either retrieves the rest from the current collection, or creates a default set of options. */ 95 public OptionsPane(ScriptOptions import_options, ScriptOptions build_options ) {98 public OptionsPane(ScriptOptions import_options, ScriptOptions build_options, ScriptOptions schedule_options) { 96 99 this.build_options = build_options; 97 100 this.import_options = import_options; 101 this.schedule_options = schedule_options; 98 102 this.current_controls = new ArrayList(); 99 103 this.writing_documents = new Vector(); … … 172 176 build_arguments = null; 173 177 return pane; 178 } 179 180 /**Wendy's attempt at writing a buildSchedule Jpanel. */ 181 public JPanel buildSchedule(JPanel pane) { 182 //reset the arguments 183 if(pane == null) { 184 current_controls.clear(); 185 } 186 187 ArrayList schedule_arguments = new ArrayList(); 188 int current_mode = Configuration.getMode(); 189 190 int total_schedule_argument_count = schedule_options.getArgumentCount(); 191 192 for(int i = 0; i < total_schedule_argument_count; i++) { 193 // Retrieve the argument so we know how to format the control. 194 Argument argument = schedule_options.getArgument(i); 195 196 //A hack to make the disable_OAI option visible in the GLI for Greenstone 3 197 if(argument.getName().equals(StaticStrings.DISABLEOAI_STR) && Gatherer.GS3) { 198 argument.setHiddenGLI(false); 199 } 200 if(!argument.isHiddenGLI() && argument.getModeLevel() <= current_mode) { 201 // Now attempt to retrieve any existing value for this argument. 202 boolean enabled = schedule_options.getValueEnabled(argument.getName()); 203 String value = schedule_options.getValue(argument.getName()); 204 MyArgumentControl argument_control = new MyArgumentControl(SCHEDULE, argument, enabled, value); 205 schedule_arguments.add(argument_control); 206 } 207 } 208 current_controls.addAll(schedule_arguments); 209 210 // Now that we know how many arguments there are we can build the pane to view them on. Modes lower than EXPERT can provide a previous pane on which to add the arguments. 211 if(pane == null || current_mode >= Configuration.EXPERT_MODE) { 212 pane = new JPanel(); 213 pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5)); 214 pane.setBackground(Configuration.getColor("coloring.collection_tree_background", false)); 215 int argument_count = schedule_arguments.size(); 216 // If in any of the higher detail modes, and assuming we don't want super phat argument controls, we better ensure there is a minimum number of lines in the grid layout 217 if(current_mode >= Configuration.EXPERT_MODE) { 218 if(argument_count < MINIMUM_ROWS) { 219 argument_count = MINIMUM_ROWS; 220 } 221 pane.setLayout(new GridLayout(argument_count, 1, 5, 5)); 222 } 223 // Otherwise we're just going to throw them on one after another and chuck it in a scroll pane anyway 224 else { 225 // use GridLayout with 0 rows == as many rows as needed. Unfortunately, rows will 226 // grow fat if space too large, but we don't know how many rows we'll need yet. 227 pane.setLayout(new GridLayout(0, 1, 5, 5)); 228 } 229 } 230 231 for(int j = 0; j < schedule_arguments.size(); j++) { 232 pane.add((JComponent)schedule_arguments.get(j)); 233 } 234 pane.addMouseListener(this); 235 schedule_arguments = null; 236 return pane; 237 174 238 } 175 239 … … 411 475 build_options.removeValue(name); 412 476 } 477 else if(type == SCHEDULE) { 478 schedule_options.removeValue(name); 479 } 413 480 else { 414 481 import_options.removeValue(name); … … 419 486 if(type == BUILD) { 420 487 build_options.setValue(name, enable, value); 488 } 489 else if(type == SCHEDULE) { 490 schedule_options.setValue(name, enable, value); 421 491 } 422 492 else { … … 512 582 case CANCELLED: 513 583 d.append(Dictionary.get("OptionsPane.Cancelled")); 584 break; 585 case SCHEDULED: 586 d.append(Dictionary.get("OptionsPane.Scheduled")); 514 587 break; 515 588 default:
Note:
See TracChangeset
for help on using the changeset viewer.