Author: izhukov
Date: 2008-12-03 09:06:12 -0500 (Wed, 03 Dec 2008)
New Revision: 12247
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/cssdialog/CSSClassDialog.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/cssdialog/StyleComposite.java
Log:
improve CSS Dialog performance
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/cssdialog/CSSClassDialog.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/cssdialog/CSSClassDialog.java 2008-12-03
13:57:36 UTC (rev 12246)
+++
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/cssdialog/CSSClassDialog.java 2008-12-03
14:06:12 UTC (rev 12247)
@@ -264,7 +264,7 @@
if (currentClassStyle != null &&
!currentClassStyle.equals(Constants.EMPTY)
&& currentFile != null &&
!currentFile.equals(Constants.EMPTY)) {
// styleComposite.updateStyle();
- cssModel.setCSS(currentClassStyle, styleAttributes);
+// cssModel.setCSS(currentClassStyle, styleAttributes);
applyButton.setEnabled(true);
}
}
@@ -298,7 +298,7 @@
contentAssistAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
contentAssistAdapter.addContentProposalListener(new IContentProposalListener() {
public void proposalAccepted(IContentProposal proposal) {
- cssStyleClassChanged(true);
+ cssStyleClassChanged();
applyButton.setEnabled(false);
keyInputSelector = false;
}
@@ -435,7 +435,7 @@
return;
}
}
- cssStyleClassChanged(true);
+ cssStyleClassChanged();
applyButton.setEnabled(false);
keyInputSelector = false;
}
@@ -446,7 +446,7 @@
if (currentClassStyle != null &&
currentClassStyle.equals(classCombo.getText().trim())) {
return;
}
- cssStyleClassChanged(true);
+ cssStyleClassChanged();
applyButton.setEnabled(true);
keyInputSelector = true;
}
@@ -502,9 +502,9 @@
styleComposite.clearStyleComposite(currentClassStyle);
styleComposite.revertPreview();
styleComposite.updateStyle();
- if (currentClassStyle != null &&
!currentClassStyle.equals(Constants.EMPTY)) {
- cssModel.setCSS(currentClassStyle, styleAttributes);
- }
+// if (currentClassStyle != null &&
!currentClassStyle.equals(Constants.EMPTY)) {
+// cssModel.setCSS(currentClassStyle, styleAttributes);
+// }
applyButton.setEnabled(true);
styleChanged = true;
}
@@ -529,7 +529,7 @@
/**
* Method is used to correctly process style class change operation.
*/
- private void cssStyleClassChanged(boolean updateStyleComposite) {
+ private void cssStyleClassChanged() {
if (currentFile != null && !currentFile.equals(Constants.EMPTY)) {
if (styleChanged && currentClassStyle != null &&
!currentClassStyle.equals(Constants.EMPTY)) {
MessageBox messageBox = new MessageBox(getParentShell(), SWT.YES | SWT.NO |
SWT.ICON_QUESTION);
@@ -541,7 +541,7 @@
if (classCombo.indexOf(currentClassStyle) == -1) {
classCombo.add(currentClassStyle);
}
- saveChanges(!updateStyleComposite);
+ saveChanges(false);
// update content assist proposals
SimpleContentProposalProvider proposalProvider =
(SimpleContentProposalProvider)contentAssistAdapter.getContentProposalProvider();
@@ -553,15 +553,13 @@
// update current class style value
currentClassStyle = classCombo.getText().trim();
styleComposite.revertPreview();
- if (updateStyleComposite) {
updateStyleComposite();
styleAttributes.setCssSelector(currentClassStyle);
if (currentClassStyle != null &&
!currentClassStyle.equals(Constants.EMPTY)) {
- cssModel.setCSS(currentClassStyle, styleAttributes);
+// cssModel.setCSS(currentClassStyle, styleAttributes);
styleComposite.updatePreview();
}
updateOKButtonState();
- }
} else {
currentClassStyle = classCombo.getText().trim();
styleAttributes.setCssSelector(currentClassStyle);
@@ -605,6 +603,7 @@
classCombo.setToolTipText(cssModel.getCSSText(currentClassStyle));
styleComposite.setShowPreviewTab(true);
+ styleComposite.setCSSModel(cssModel);
// update style composite component with the values from new CSS file
if (updateCSSModel) {
updateStyleComposite();
@@ -761,8 +760,7 @@
int code = getReturnCode();
switch (code) {
case OK:
- cssStyleClassChanged(false);
- styleComposite.closePreview(true);
+ saveChanges(true);
break;
case CANCEL:
default:
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/cssdialog/StyleComposite.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/cssdialog/StyleComposite.java 2008-12-03
13:57:36 UTC (rev 12246)
+++
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/cssdialog/StyleComposite.java 2008-12-03
14:06:12 UTC (rev 12247)
@@ -80,6 +80,7 @@
private HashMap<String, ArrayList<String>> elementsMap = new
HashMap<String, ArrayList<String>>();
private boolean showPreviewTab = false;
+ private CSSModel cssModel = null;
/**
* StyleComposite constructor.
@@ -235,6 +236,7 @@
tabBoxesControl.updateData(false);
lastSelectedTab = tabBoxes;
} else if (tabFolder.getSelection()[FIRST_SELECTION] == tabPreview)
{
+ cssModel.setCSS(styleAttributes.getCssSelector(), styleAttributes);
tabPreviewControl.selectEditorArea(styleAttributes.getCssSelector(),
0);
lastSelectedTab = tabPreview;
} else if (tabFolder.getSelection()[FIRST_SELECTION] ==
tabPropertySheet) {
@@ -433,7 +435,10 @@
}
if (tabPreviewControl != null) {
tabPreviewControl.initPreview(cssModel);
- tabPreviewControl.selectEditorArea(styleAttributes.getCssSelector(), 0);
+ if (lastSelectedTab == tabPreview) {
+ cssModel.setCSS(styleAttributes.getCssSelector(), styleAttributes);
+ tabPreviewControl.selectEditorArea(styleAttributes.getCssSelector(), 0);
+ }
}
}
@@ -441,7 +446,8 @@
* Method is used to update preview selection area.
*/
public void updatePreview() {
- if (tabPreviewControl != null) {
+ if (tabPreviewControl != null && lastSelectedTab == tabPreview) {
+ cssModel.setCSS(styleAttributes.getCssSelector(), styleAttributes);
tabPreviewControl.selectEditorArea(styleAttributes.getCssSelector(), 0);
}
}
@@ -481,6 +487,13 @@
}
/**
+ * @param cssModel the cssModel to set
+ */
+ public void setCSSModel(CSSModel cssModel) {
+ this.cssModel = cssModel;
+ }
+
+ /**
* @return the showPreviewTab
*/
public boolean isShowPreviewTab() {