This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 63054

Summary: Options API design problems
Product: platform Reporter: _ rkubacki <rkubacki>
Component: Options&SettingsAssignee: Jan Jancura <jjancura>
Status: RESOLVED FIXED    
Severity: blocker Keywords: API
Priority: P2    
Version: 5.x   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter:

Description _ rkubacki 2005-08-25 13:40:50 UTC
Recently integrated Options API has some problems.

There is an interface OpionCategory.Panel but no way how this panel can be
passed to implementation. Hidden contract is that JComponent returned by
OpionCategory.getPane() will be casted to Panel. This is not desirable design
and the panel should be separated from component.

One of known problems here is overloading of isValid() method. It has completely
different meaning in Component than in Panel interface. Minor issue is listener
pattern - component fires a lot of changes that are not interesting for those
objects that will listen to Panel.
Comment 1 _ rkubacki 2005-08-25 13:54:59 UTC
public String getIcon () is also strange. Should it return String or Icon? Maybe
getIconBase() can be better name.
Comment 2 Jan Jancura 2005-08-26 11:57:47 UTC
OptionsAPI is not finished yet, needs DevRev...
Comment 3 Jan Jancura 2005-08-26 12:19:02 UTC
fixed in trunk:

Checking in nbproject/project.properties;
/cvs/core/options/nbproject/project.properties,v  <--  project.properties
new revision: 1.3; previous revision: 1.2
done
Checking in src/org/netbeans/modules/options/OptionsPanel.java;
/cvs/core/options/src/org/netbeans/modules/options/OptionsPanel.java,v  <-- 
OptionsPanel.java
new revision: 1.3; previous revision: 1.2
done
Checking in src/org/netbeans/modules/options/advanced/Advanced.java;
/cvs/core/options/src/org/netbeans/modules/options/advanced/Advanced.java,v  <--
 Advanced.java
new revision: 1.3; previous revision: 1.2
done
Checking in src/org/netbeans/modules/options/advanced/AdvancedPanel.java;
/cvs/core/options/src/org/netbeans/modules/options/advanced/AdvancedPanel.java,v
 <--  AdvancedPanel.java
new revision: 1.3; previous revision: 1.2
done
RCS file:
/cvs/core/options/src/org/netbeans/modules/options/advanced/AdvancedPanelController.java,v
done
Checking in src/org/netbeans/modules/options/advanced/AdvancedPanelController.java;
/cvs/core/options/src/org/netbeans/modules/options/advanced/AdvancedPanelController.java,v
 <--  AdvancedPanelController.java
initial revision: 1.1
done
Checking in src/org/netbeans/modules/options/advanced/Model.java;
/cvs/core/options/src/org/netbeans/modules/options/advanced/Model.java,v  <-- 
Model.java
new revision: 1.3; previous revision: 1.2
done
Checking in src/org/netbeans/spi/options/AdvancedOption.java;
/cvs/core/options/src/org/netbeans/spi/options/AdvancedOption.java,v  <-- 
AdvancedOption.java
new revision: 1.3; previous revision: 1.2
done
Checking in src/org/netbeans/spi/options/OptionsCategory.java;
/cvs/core/options/src/org/netbeans/spi/options/OptionsCategory.java,v  <-- 
OptionsCategory.java
new revision: 1.3; previous revision: 1.2
done
Checking in src/org/netbeans/modules/options/abbreviations/Abbreviations.java;
/cvs/editor/options/src/org/netbeans/modules/options/abbreviations/Abbreviations.java,v
 <--  Abbreviations.java
new revision: 1.3; previous revision: 1.2
done
Checking in src/org/netbeans/modules/options/abbreviations/AbbreviationsPanel.java;
/cvs/editor/options/src/org/netbeans/modules/options/abbreviations/AbbreviationsPanel.java,v
 <--  AbbreviationsPanel.java
new revision: 1.3; previous revision: 1.2
done
RCS file:
/cvs/editor/options/src/org/netbeans/modules/options/abbreviations/AbbreviationsPanelController.java,v
done
Checking in
src/org/netbeans/modules/options/abbreviations/AbbreviationsPanelController.java;
/cvs/editor/options/src/org/netbeans/modules/options/abbreviations/AbbreviationsPanelController.java,v
 <--  AbbreviationsPanelController.java
initial revision: 1.1
done
Removing
src/org/netbeans/modules/options/advancedpanels/DatabaseExplorerCustomizer.java;
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/DatabaseExplorerCustomizer.java,v
 <--  DatabaseExplorerCustomizer.java
new revision: delete; previous revision: 1.2
done
Removing
src/org/netbeans/modules/options/advancedpanels/DatabaseExplorerOptions.java;
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/DatabaseExplorerOptions.java,v
 <--  DatabaseExplorerOptions.java
new revision: delete; previous revision: 1.2
done
Removing src/org/netbeans/modules/options/advancedpanels/EditorCustomizer.java;
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/EditorCustomizer.java,v
 <--  EditorCustomizer.java
new revision: delete; previous revision: 1.2
done
Removing src/org/netbeans/modules/options/advancedpanels/EditorOptions.java;
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/EditorOptions.java,v
 <--  EditorOptions.java
new revision: delete; previous revision: 1.2
done
Checking in
src/org/netbeans/modules/options/advancedpanels/FormEditorCustomizer.java;
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/FormEditorCustomizer.java,v
 <--  FormEditorCustomizer.java
new revision: 1.3; previous revision: 1.2
done
Checking in src/org/netbeans/modules/options/advancedpanels/FormEditorOptions.java;
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/FormEditorOptions.java,v
 <--  FormEditorOptions.java
new revision: 1.3; previous revision: 1.2
done
RCS file:
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/FormEditorPanelController.java,v
done
Checking in
src/org/netbeans/modules/options/advancedpanels/FormEditorPanelController.java;
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/FormEditorPanelController.java,v
 <--  FormEditorPanelController.java
initial revision: 1.1
done
Removing src/org/netbeans/modules/options/advancedpanels/HTTPServerCustomizer.java;
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/HTTPServerCustomizer.java,v
 <--  HTTPServerCustomizer.java
new revision: delete; previous revision: 1.2
done
Removing src/org/netbeans/modules/options/advancedpanels/HTTPServerOptions.java;
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/HTTPServerOptions.java,v
 <--  HTTPServerOptions.java
new revision: delete; previous revision: 1.2
done
Checking in
src/org/netbeans/modules/options/advancedpanels/InternationalizationCustomizer.java;
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/InternationalizationCustomizer.java,v
 <--  InternationalizationCustomizer.java
new revision: 1.3; previous revision: 1.2
done
Checking in
src/org/netbeans/modules/options/advancedpanels/InternationalizationOptions.java;
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/InternationalizationOptions.java,v
 <--  InternationalizationOptions.java
new revision: 1.3; previous revision: 1.2
done
RCS file:
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/InternationalizationPanelController.java,v
done
Checking in
src/org/netbeans/modules/options/advancedpanels/InternationalizationPanelController.java;
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/InternationalizationPanelController.java,v
 <--  InternationalizationPanelController.java
initial revision: 1.1
done
Removing src/org/netbeans/modules/options/advancedpanels/J2EEServerCustomizer.java;
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/J2EEServerCustomizer.java,v
 <--  J2EEServerCustomizer.java
new revision: delete; previous revision: 1.2
done
Removing src/org/netbeans/modules/options/advancedpanels/J2EEServerOptions.java;
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/J2EEServerOptions.java,v
 <--  J2EEServerOptions.java
new revision: delete; previous revision: 1.2
done
Removing src/org/netbeans/modules/options/advancedpanels/JavaCustomizer.java;
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/JavaCustomizer.java,v
 <--  JavaCustomizer.java
new revision: delete; previous revision: 1.2
done
Removing src/org/netbeans/modules/options/advancedpanels/JavaOptions.java;
/cvs/editor/options/src/org/netbeans/modules/options/advancedpanels/JavaOptions.java,v
 <--  JavaOptions.java
new revision: delete; previous revision: 1.2
done
Checking in src/org/netbeans/modules/options/colors/FontAndColors.java;
/cvs/editor/options/src/org/netbeans/modules/options/colors/FontAndColors.java,v
 <--  FontAndColors.java
new revision: 1.3; previous revision: 1.2
done
Checking in src/org/netbeans/modules/options/colors/FontAndColorsPanel.java;
/cvs/editor/options/src/org/netbeans/modules/options/colors/FontAndColorsPanel.java,v
 <--  FontAndColorsPanel.java
new revision: 1.3; previous revision: 1.2
done
RCS file:
/cvs/editor/options/src/org/netbeans/modules/options/colors/FontAndColorsPanelController.java,v
done
Checking in
src/org/netbeans/modules/options/colors/FontAndColorsPanelController.java;
/cvs/editor/options/src/org/netbeans/modules/options/colors/FontAndColorsPanelController.java,v
 <--  FontAndColorsPanelController.java
initial revision: 1.1
done
Checking in src/org/netbeans/modules/options/editor/CodeTemplatesPanel.java;
/cvs/editor/options/src/org/netbeans/modules/options/editor/CodeTemplatesPanel.java,v
 <--  CodeTemplatesPanel.java
new revision: 1.3; previous revision: 1.2
done
RCS file:
/cvs/editor/options/src/org/netbeans/modules/options/editor/CodeTemplatesPanelController.java,v
done
Checking in
src/org/netbeans/modules/options/editor/CodeTemplatesPanelController.java;
/cvs/editor/options/src/org/netbeans/modules/options/editor/CodeTemplatesPanelController.java,v
 <--  CodeTemplatesPanelController.java
initial revision: 1.1
done
Checking in src/org/netbeans/modules/options/editor/Editor.java;
/cvs/editor/options/src/org/netbeans/modules/options/editor/Editor.java,v  <-- 
Editor.java
new revision: 1.3; previous revision: 1.2
done
Checking in src/org/netbeans/modules/options/editor/EditorPanel.java;
/cvs/editor/options/src/org/netbeans/modules/options/editor/EditorPanel.java,v 
<--  EditorPanel.java
new revision: 1.3; previous revision: 1.2
done
RCS file:
/cvs/editor/options/src/org/netbeans/modules/options/editor/EditorPanelController.java,v
done
Checking in src/org/netbeans/modules/options/editor/EditorPanelController.java;
/cvs/editor/options/src/org/netbeans/modules/options/editor/EditorPanelController.java,v
 <--  EditorPanelController.java
initial revision: 1.1
done
Checking in src/org/netbeans/modules/options/editor/GeneralEditorPanel.java;
/cvs/editor/options/src/org/netbeans/modules/options/editor/GeneralEditorPanel.java,v
 <--  GeneralEditorPanel.java
new revision: 1.3; previous revision: 1.2
done
RCS file:
/cvs/editor/options/src/org/netbeans/modules/options/editor/GeneralEditorPanelController.java,v
done
Checking in
src/org/netbeans/modules/options/editor/GeneralEditorPanelController.java;
/cvs/editor/options/src/org/netbeans/modules/options/editor/GeneralEditorPanelController.java,v
 <--  GeneralEditorPanelController.java
initial revision: 1.1
done
Checking in src/org/netbeans/modules/options/editor/MacrosPanel.java;
/cvs/editor/options/src/org/netbeans/modules/options/editor/MacrosPanel.java,v 
<--  MacrosPanel.java
new revision: 1.3; previous revision: 1.2
done
RCS file:
/cvs/editor/options/src/org/netbeans/modules/options/editor/MacrosPanelController.java,v
done
Checking in src/org/netbeans/modules/options/editor/MacrosPanelController.java;
/cvs/editor/options/src/org/netbeans/modules/options/editor/MacrosPanelController.java,v
 <--  MacrosPanelController.java
initial revision: 1.1
done
Checking in src/org/netbeans/modules/options/general/GeneralOptions.java;
/cvs/editor/options/src/org/netbeans/modules/options/general/GeneralOptions.java,v
 <--  GeneralOptions.java
new revision: 1.3; previous revision: 1.2
done
Checking in src/org/netbeans/modules/options/general/GeneralOptionsPanel.java;
/cvs/editor/options/src/org/netbeans/modules/options/general/GeneralOptionsPanel.java,v
 <--  GeneralOptionsPanel.java
new revision: 1.3; previous revision: 1.2
done
RCS file:
/cvs/editor/options/src/org/netbeans/modules/options/general/GeneralOptionsPanelController.java,v
done
Checking in
src/org/netbeans/modules/options/general/GeneralOptionsPanelController.java;
/cvs/editor/options/src/org/netbeans/modules/options/general/GeneralOptionsPanelController.java,v
 <--  GeneralOptionsPanelController.java
initial revision: 1.1
done
Checking in src/org/netbeans/modules/options/indentation/Indentation.java;
/cvs/editor/options/src/org/netbeans/modules/options/indentation/Indentation.java,v
 <--  Indentation.java
new revision: 1.3; previous revision: 1.2
done
Checking in src/org/netbeans/modules/options/indentation/IndentationPanel.java;
/cvs/editor/options/src/org/netbeans/modules/options/indentation/IndentationPanel.java,v
 <--  IndentationPanel.java
new revision: 1.3; previous revision: 1.2
done
RCS file:
/cvs/editor/options/src/org/netbeans/modules/options/indentation/IndentationPanelController.java,v
done
Checking in
src/org/netbeans/modules/options/indentation/IndentationPanelController.java;
/cvs/editor/options/src/org/netbeans/modules/options/indentation/IndentationPanelController.java,v
 <--  IndentationPanelController.java
initial revision: 1.1
done
Checking in src/org/netbeans/modules/options/keymap/Keymap.java;
/cvs/editor/options/src/org/netbeans/modules/options/keymap/Keymap.java,v  <-- 
Keymap.java
new revision: 1.3; previous revision: 1.2
done
Checking in src/org/netbeans/modules/options/keymap/KeymapPanel.java;
/cvs/editor/options/src/org/netbeans/modules/options/keymap/KeymapPanel.java,v 
<--  KeymapPanel.java
new revision: 1.3; previous revision: 1.2
done
RCS file:
/cvs/editor/options/src/org/netbeans/modules/options/keymap/KeymapPanelController.java,v
done
Checking in src/org/netbeans/modules/options/keymap/KeymapPanelController.java;
/cvs/editor/options/src/org/netbeans/modules/options/keymap/KeymapPanelController.java,v
 <--  KeymapPanelController.java
initial revision: 1.1
done
Checking in AntCustomizer.java;
/cvs/ant/src/org/apache/tools/ant/module/AntCustomizer.java,v  <-- 
AntCustomizer.java
new revision: 1.1.2.2; previous revision: 1.1.2.1
done
Checking in AntOption.java;
/cvs/ant/src/org/apache/tools/ant/module/AntOption.java,v  <--  AntOption.java
new revision: 1.1.2.2; previous revision: 1.1.2.1
done
RCS file: /cvs/ant/src/org/apache/tools/ant/module/Attic/AntPanelController.java,v
done
Checking in AntPanelController.java;
/cvs/ant/src/org/apache/tools/ant/module/Attic/AntPanelController.java,v  <-- 
AntPanelController.java
new revision: 1.1.2.1; previous revision: 1.1
done