Project

General

Profile

« Previous | Next » 

Revision b752be34

Added by Patrick Plitzner about 6 years ago

ref #6786 Fix dirty state when editing feature tree title cache

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureTreeEditorComposite.java
84 84

  
85 85
    public void init(DragSourceListener dragSourceListener, DropTargetListener dropTargetListener,
86 86
            ISelectionChangedListener viewerSelectionChangedListener,
87
            SelectionListener openFeatureTreeSelectionListener) {
87
            SelectionListener openFeatureTreeSelectionListener,
88
            ModifyListener textModifyListener) {
88 89
        viewer.setContentProvider(new FeatureTreeContentProvider());
89 90
        viewer.setLabelProvider(new FeatureTreeLabelProvider());
90 91

  
......
102 103
            viewer.addSelectionChangedListener(viewerSelectionChangedListener);
103 104
        }
104 105

  
106
        if(textModifyListener!=null){
107
            text_title.addModifyListener(textModifyListener);
108
        }
109

  
105 110
        //add specific selection listener
106 111
        if(openFeatureTreeSelectionListener!=null){
107 112
            btnOpenFeatureTree.addSelectionListener(openFeatureTreeSelectionListener);
......
114 119
                    FeatureTree tree = FeatureTreeSelectionDialog.select(getDisplay().getActiveShell(),
115 120
                            null);
116 121
                    if(tree!=null){
117
                        setSelectedTree(tree, null);
118
                        getText_title().setEnabled(false);
122
                        setSelectedTree(tree);
123
                        text_title.setEnabled(false);
119 124
                    }
120 125
                }
121 126
            });
122 127
        }
123 128
    }
124 129

  
125
    public void setSelectedTree(FeatureTree featureTree, ModifyListener modifyListener) {
130
    public void setSelectedTree(FeatureTree featureTree) {
126 131
        this.featureTree = featureTree;
127 132

  
128 133
        getViewer().setInput(featureTree);
129 134

  
130
        Listener[] listeners = getText_title().getListeners(SWT.Modify);
135
        Listener[] listeners = text_title.getListeners(SWT.Modify);
131 136
        for (Listener listener : listeners) {
132
            getText_title().removeListener(SWT.Modify, listener);
137
            text_title.removeListener(SWT.Modify, listener);
133 138
        }
134
        getText_title().setText(featureTree.getTitleCache());
139
        text_title.setText(featureTree.getTitleCache());
135 140
        for (Listener listener : listeners) {
136
            getText_title().addListener(SWT.Modify, listener);
141
            text_title.addListener(SWT.Modify, listener);
137 142
        }
138
        getText_title().setEnabled(true);
143
        text_title.setEnabled(true);
139 144
        text_title.setEnabled(true);
140 145
    }
141 146

  
142
    /**
143
     * @return the featureTree
144
     */
145 147
    public FeatureTree getFeatureTree() {
146 148
        return featureTree;
147 149
    }
148 150

  
149
    /**
150
     * @return the label_title
151
     */
152
    public Label getLabel_title() {
153
        return label_title;
154
    }
155

  
156
    /**
157
     * @return the text_title
158
     */
159 151
    public Text getText_title() {
160 152
        return text_title;
161 153
    }
162 154

  
163
    /**
164
     * @return the btnOpenFeatureTree
165
     */
155
    public Label getLabel_title() {
156
        return label_title;
157
    }
158

  
166 159
    public Button getBtnOpenFeatureTree() {
167 160
        return btnOpenFeatureTree;
168 161
    }
169 162

  
170
    /**
171
     * @return the viewer
172
     */
173 163
    public TreeViewer getViewer() {
174 164
        return viewer;
175 165
    }

Also available in: Unified diff