001: /*
002: * To change this template, choose Tools | Templates
003: * and open the template in the editor.
004: */
005: package org.netbeans.modules.bpel.debugger.ui.util;
006:
007: import org.netbeans.api.debugger.Properties;
008: import org.netbeans.spi.viewmodel.ColumnModel;
009: import org.openide.util.NbBundle;
010:
011: /**
012: *
013: * @author Kirill Sorokin
014: */
015: public abstract class AbstractColumn extends ColumnModel {
016:
017: protected String myId;
018: protected String myName;
019: protected String myTooltip;
020: protected Class myType;
021: protected Properties myProperties;
022:
023: public AbstractColumn() {
024: myProperties = Properties.getDefault()
025: .getProperties("debugger").getProperties("views"); // NOI18N
026: }
027:
028: public String getID() {
029: return myId;
030: }
031:
032: public String getDisplayName() {
033: return getMessage(myName);
034: }
035:
036: public Class getType() {
037: return myType;
038: }
039:
040: @Override
041: public String getShortDescription() {
042: return getMessage(myTooltip);
043: }
044:
045: @Override
046: public int getCurrentOrderNumber() {
047: return myProperties.getInt(getFieldId(ORDER_NUMBER), -1);
048: }
049:
050: @Override
051: public void setCurrentOrderNumber(final int orderNumber) {
052: myProperties.setInt(getFieldId(ORDER_NUMBER), orderNumber);
053: }
054:
055: @Override
056: public int getColumnWidth() {
057: return myProperties.getInt(getFieldId(COLUMN_WIDTH), WIDTH);
058: }
059:
060: @Override
061: public void setColumnWidth(final int columnWidth) {
062: myProperties.setInt(getFieldId(COLUMN_WIDTH), columnWidth);
063: }
064:
065: @Override
066: public void setVisible(final boolean visible) {
067: myProperties.setBoolean(getFieldId(VISIBLE), visible);
068: }
069:
070: @Override
071: public boolean isVisible() {
072: return myProperties.getBoolean(getFieldId(VISIBLE), true);
073: }
074:
075: @Override
076: public void setSorted(final boolean sorted) {
077: myProperties.setBoolean(getFieldId(SORTED), sorted);
078: }
079:
080: @Override
081: public boolean isSorted() {
082: return myProperties.getBoolean(getFieldId(SORTED), false);
083: }
084:
085: @Override
086: public void setSortedDescending(final boolean sortedDescending) {
087: myProperties.setBoolean(getFieldId(DESCENDING),
088: sortedDescending);
089: }
090:
091: @Override
092: public boolean isSortedDescending() {
093: return myProperties.getBoolean(getFieldId(DESCENDING), false);
094: }
095:
096: ////////////////////////////////////////////////////////////////////////////
097: // Private
098: private String getFieldId(final String value) {
099: return getID() + "." + value; // NOI18N
100: }
101:
102: private String getMessage(final String value) {
103: if (value == null) {
104: return null;
105: }
106:
107: return NbBundle.getMessage(getClass(), value);
108: }
109:
110: ////////////////////////////////////////////////////////////////////////////
111: // Constants
112: private static final int WIDTH = 150;
113:
114: private static final String SORTED = "sorted"; // NOI18N
115:
116: private static final String DESCENDING = "sortedDescending"; // NOI18N
117:
118: private static final String VISIBLE = "visible"; // NOI18N
119:
120: private static final String COLUMN_WIDTH = "columnWidth"; // NOI18N
121:
122: private static final String ORDER_NUMBER = "currentOrderNumber"; // NOI18N
123: }
|