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 - Options API design problems
Summary: Options API design problems
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Options&Settings (show other bugs)
Version: 5.x
Hardware: All All
: P2 blocker (vote)
Assignee: Jan Jancura
URL:
Keywords: API
Depends on:
Blocks:
 
Reported: 2005-08-25 13:40 UTC by _ rkubacki
Modified: 2008-12-22 20:55 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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