Author: sdzmitrovich
Date: 2009-07-24 07:37:36 -0400 (Fri, 24 Jul 2009)
New Revision: 16762
Added:
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/AbstractCSSSection.java
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/MessageCSSSection.java
Removed:
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/AbstractCssSection.java
Modified:
trunk/jst/plugins/org.jboss.tools.jst.css/plugin.xml
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/BackgroundSection.java
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/BoxesSection.java
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/PropertiesSection.java
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/QuickEditSection.java
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/TextSection.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/messages/messages.properties
Log:
https://jira.jboss.org/jira/browse/JBIDE-3445
Modified: trunk/jst/plugins/org.jboss.tools.jst.css/plugin.xml
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.css/plugin.xml 2009-07-24 08:37:43 UTC (rev
16761)
+++ trunk/jst/plugins/org.jboss.tools.jst.css/plugin.xml 2009-07-24 11:37:36 UTC (rev
16762)
@@ -38,7 +38,6 @@
type="org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleRule">
</input>
</propertySection>
-
<propertySection
class="org.jboss.tools.jst.css.properties.BackgroundSection"
id="org.jboss.tools.jst.css.backgroundTab"
tab="org.jboss.tools.jst.css.backgroundTab" >
@@ -66,6 +65,30 @@
type="org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleRule">
</input>
</propertySection>
+ <propertySection
class="org.jboss.tools.jst.css.properties.MessageCSSSection"
+ id="org.jboss.tools.jst.css.messageSection"
tab="org.jboss.tools.jst.css.textFontTab">
+ <input
+ type="org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleRule">
+ </input>
+ </propertySection>
+ <propertySection
class="org.jboss.tools.jst.css.properties.MessageCSSSection"
+ id="org.jboss.tools.jst.css.messageSection"
tab="org.jboss.tools.jst.css.backgroundTab">
+ <input
+ type="org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleRule">
+ </input>
+ </propertySection>
+ <propertySection
class="org.jboss.tools.jst.css.properties.MessageCSSSection"
+ id="org.jboss.tools.jst.css.messageSection"
tab="org.jboss.tools.jst.css.boxesTab">
+ <input
+ type="org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleRule">
+ </input>
+ </propertySection>
+ <propertySection
class="org.jboss.tools.jst.css.properties.MessageCSSSection"
+ id="org.jboss.tools.jst.css.messageSection"
tab="org.jboss.tools.jst.css.quickEditTab">
+ <input
+ type="org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleRule">
+ </input>
+ </propertySection>
</propertySections>
</extension>
Copied:
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/AbstractCSSSection.java
(from rev 16736,
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/AbstractCssSection.java)
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/AbstractCSSSection.java
(rev 0)
+++
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/AbstractCSSSection.java 2009-07-24
11:37:36 UTC (rev 16762)
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+
+package org.jboss.tools.jst.css.properties;
+
+import org.eclipse.core.databinding.DataBindingContext;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+import org.jboss.tools.jst.jsp.outline.cssdialog.common.StyleAttributes;
+import org.jboss.tools.jst.jsp.outline.cssdialog.tabs.BaseTabControl;
+
+/**
+ * @author Sergey Dzmitrovich
+ *
+ */
+public abstract class AbstractCSSSection extends AbstractPropertySection {
+ private DataBindingContext bindingContext;
+ private StyleAttributes styleAttributes;
+ private BaseTabControl sectionControl;
+ private Composite tabComposite;
+
+ @Override
+ public void createControls(Composite parent,
+ TabbedPropertySheetPage aTabbedPropertySheetPage) {
+ super.createControls(parent, aTabbedPropertySheetPage);
+ parent.setBackgroundMode(SWT.INHERIT_FORCE);
+ if (aTabbedPropertySheetPage instanceof CSSPropertyPage) {
+ bindingContext = ((CSSPropertyPage) aTabbedPropertySheetPage)
+ .getBindingContext();
+ styleAttributes = ((CSSPropertyPage) aTabbedPropertySheetPage)
+ .getStyleAttributes();
+ }
+ tabComposite = (Composite) aTabbedPropertySheetPage.getControl();
+ sectionControl = createSectionControl(parent);
+
+ }
+
+ abstract public BaseTabControl createSectionControl(Composite parent);
+
+ public DataBindingContext getBindingContext() {
+ return bindingContext;
+ }
+
+ public StyleAttributes getStyleAttributes() {
+ return styleAttributes;
+ }
+
+ public BaseTabControl getSectionControl() {
+ return sectionControl;
+ }
+
+ public Composite getTabComposite() {
+ return tabComposite;
+ }
+}
Deleted:
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/AbstractCssSection.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/AbstractCssSection.java 2009-07-24
08:37:43 UTC (rev 16761)
+++
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/AbstractCssSection.java 2009-07-24
11:37:36 UTC (rev 16762)
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007-2009 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at
http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-
-package org.jboss.tools.jst.css.properties;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-import org.jboss.tools.jst.jsp.outline.cssdialog.common.StyleAttributes;
-import org.jboss.tools.jst.jsp.outline.cssdialog.tabs.BaseTabControl;
-
-/**
- * @author Sergey Dzmitrovich
- *
- */
-public abstract class AbstractCssSection extends AbstractPropertySection {
- private DataBindingContext bindingContext;
- private StyleAttributes styleAttributes;
- protected BaseTabControl control;
-
- @Override
- public void createControls(Composite parent,
- TabbedPropertySheetPage aTabbedPropertySheetPage) {
- super.createControls(parent, aTabbedPropertySheetPage);
- if (aTabbedPropertySheetPage instanceof CSSPropertyPage) {
- bindingContext = ((CSSPropertyPage) aTabbedPropertySheetPage)
- .getBindingContext();
- styleAttributes = ((CSSPropertyPage) aTabbedPropertySheetPage)
- .getStyleAttributes();
- }
- control = createTabControl(parent);
- }
-
- abstract public BaseTabControl createTabControl(Composite parent);
-
- public DataBindingContext getBindingContext() {
- return bindingContext;
- }
-
- public StyleAttributes getStyleAttributes() {
- return styleAttributes;
- }
-
- public BaseTabControl getTabControl() {
- return control;
- }
-}
Modified:
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/BackgroundSection.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/BackgroundSection.java 2009-07-24
08:37:43 UTC (rev 16761)
+++
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/BackgroundSection.java 2009-07-24
11:37:36 UTC (rev 16762)
@@ -19,10 +19,10 @@
* @author Sergey Dzmitrovich
*
*/
-public class BackgroundSection extends AbstractCssSection {
+public class BackgroundSection extends AbstractCSSSection {
@Override
- public BaseTabControl createTabControl(Composite parent) {
+ public BaseTabControl createSectionControl(Composite parent) {
return new TabBackgroundControl(parent, getStyleAttributes(),
getBindingContext());
}
Modified:
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/BoxesSection.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/BoxesSection.java 2009-07-24
08:37:43 UTC (rev 16761)
+++
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/BoxesSection.java 2009-07-24
11:37:36 UTC (rev 16762)
@@ -19,10 +19,10 @@
* @author Sergey Dzmitrovich
*
*/
-public class BoxesSection extends AbstractCssSection {
+public class BoxesSection extends AbstractCSSSection {
@Override
- public BaseTabControl createTabControl(Composite parent) {
+ public BaseTabControl createSectionControl(Composite parent) {
return new TabBoxesControl(parent, getStyleAttributes(),
getBindingContext());
Added:
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/MessageCSSSection.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/MessageCSSSection.java
(rev 0)
+++
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/MessageCSSSection.java 2009-07-24
11:37:36 UTC (rev 16762)
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+
+package org.jboss.tools.jst.css.properties;
+
+import org.eclipse.core.databinding.AggregateValidationStatus;
+import org.eclipse.core.databinding.observable.value.IValueChangeListener;
+import org.eclipse.core.databinding.observable.value.ValueChangeEvent;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+import org.jboss.tools.jst.jsp.outline.cssdialog.tabs.BaseTabControl;
+
+/**
+ * @author Sergey Dzmitrovich
+ *
+ */
+public class MessageCSSSection extends AbstractCSSSection {
+
+ private AggregateValidationStatus aggregateStatus;
+
+ private Text messageLabel;
+
+ private Label messageImageLabel;
+
+ private IStatus status = Status.OK_STATUS;
+
+ private Composite messageComposite;
+
+ @Override
+ public void createControls(Composite parent,
+ TabbedPropertySheetPage aTabbedPropertySheetPage) {
+ super.createControls(parent, aTabbedPropertySheetPage);
+
+ aggregateStatus = new AggregateValidationStatus(getBindingContext()
+ .getValidationStatusProviders(),
+ AggregateValidationStatus.MAX_SEVERITY);
+ aggregateStatus.addValueChangeListener(new IValueChangeListener() {
+ public void handleValueChange(ValueChangeEvent event) {
+
+ handleStatusChanged((IStatus) event.diff.getNewValue());
+ }
+ });
+
+ messageComposite = new Composite(parent, SWT.None);
+ GridLayout gridLayout = new GridLayout(2, false);
+ gridLayout.marginHeight = 0;
+ gridLayout.verticalSpacing = 0;
+ messageComposite.setLayout(gridLayout);
+ messageImageLabel = new Label(messageComposite, SWT.CENTER);
+ messageImageLabel.setImage(JFaceResources
+ .getImage(Dialog.DLG_IMG_MESSAGE_ERROR));
+ messageLabel = new Text(messageComposite, SWT.WRAP | SWT.READ_ONLY);
+ messageComposite.setVisible(false);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.jboss.tools.jst.css.properties.AbstractCssSection#createTabControl
+ * (org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ public BaseTabControl createSectionControl(Composite parent) {
+ return null;
+ }
+
+ protected void handleStatusChanged(IStatus newStatus) {
+ if (newStatus.getSeverity() != status.getSeverity()) {
+ messageLabel.setText(newStatus.getMessage());
+ messageComposite.setVisible(!newStatus.isOK());
+ messageComposite.layout(true);
+ status = newStatus;
+ }
+
+ }
+
+}
Property changes on:
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/MessageCSSSection.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Modified:
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/PropertiesSection.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/PropertiesSection.java 2009-07-24
08:37:43 UTC (rev 16761)
+++
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/PropertiesSection.java 2009-07-24
11:37:36 UTC (rev 16762)
@@ -19,10 +19,10 @@
* @author Sergey Dzmitrovich
*
*/
-public class PropertiesSection extends AbstractCssSection {
+public class PropertiesSection extends AbstractCSSSection {
@Override
- public BaseTabControl createTabControl(Composite parent) {
+ public BaseTabControl createSectionControl(Composite parent) {
return new TabPropertySheetControl(parent, getStyleAttributes(),
getBindingContext());
Modified:
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/QuickEditSection.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/QuickEditSection.java 2009-07-24
08:37:43 UTC (rev 16761)
+++
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/QuickEditSection.java 2009-07-24
11:37:36 UTC (rev 16762)
@@ -21,19 +21,18 @@
* @author Sergey Dzmitrovich
*
*/
-public class QuickEditSection extends AbstractCssSection {
+public class QuickEditSection extends AbstractCSSSection {
@Override
- public BaseTabControl createTabControl(Composite parent) {
+ public BaseTabControl createSectionControl(Composite parent) {
return new TabQuickEditControl(parent, getStyleAttributes(),
getBindingContext());
}
@Override
public void setInput(IWorkbenchPart part, ISelection selection) {
- getTabControl().update();
- // TODO find better way
- getTabControl().getParent().getParent().layout(true);
+ getSectionControl().update();
+ getTabComposite().layout(true, true);
super.setInput(part, selection);
}
Modified:
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/TextSection.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/TextSection.java 2009-07-24
08:37:43 UTC (rev 16761)
+++
trunk/jst/plugins/org.jboss.tools.jst.css/src/org/jboss/tools/jst/css/properties/TextSection.java 2009-07-24
11:37:36 UTC (rev 16762)
@@ -19,10 +19,10 @@
* @author Sergey Dzmitrovich
*
*/
-public class TextSection extends AbstractCssSection {
+public class TextSection extends AbstractCSSSection {
@Override
- public BaseTabControl createTabControl(Composite parent) {
+ public BaseTabControl createSectionControl(Composite parent) {
return new TabTextControl(parent, getStyleAttributes(),
getBindingContext());
}
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/messages/messages.properties
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/messages/messages.properties 2009-07-24
08:37:43 UTC (rev 16761)
+++
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/messages/messages.properties 2009-07-24
11:37:36 UTC (rev 16762)
@@ -4,7 +4,7 @@
CSS_STYLE_EDITOR_TITLE=CSS Style
CSS_EMPTY_FILE_PATH_MESSAGE=Choose any CSS file
CSS_EMPTY_STYLE_CLASS_MESSAGE=Style class field is empty
-CSS_INVALID_STYLE_PROPERTY=Invalid Style class property has been entered.Preview Tab will
be not updated.
+CSS_INVALID_STYLE_PROPERTY=Invalid Style class property has been entered.
#CSS_SAVE_DIALOG_TITLE=Save CSS file
CSS_CLASS_DIALOG_FILE_LABEL=CSS file: