diff --git a/designer-base/src/main/java/com/fr/design/gui/core/WidgetOption.java b/designer-base/src/main/java/com/fr/design/gui/core/WidgetOption.java index 4c9db5a6a..258f558a7 100644 --- a/designer-base/src/main/java/com/fr/design/gui/core/WidgetOption.java +++ b/designer-base/src/main/java/com/fr/design/gui/core/WidgetOption.java @@ -1,7 +1,6 @@ package com.fr.design.gui.core; import com.fr.base.BaseUtils; -import com.fr.base.svg.IconUtils; import com.fr.form.ui.Button; import com.fr.form.ui.CheckBox; import com.fr.form.ui.CheckBoxGroup; @@ -15,7 +14,6 @@ import com.fr.form.ui.ListEditor; import com.fr.form.ui.MultiFileEditor; import com.fr.form.ui.NumberEditor; import com.fr.form.ui.Password; -import com.fr.form.ui.PictureWidget; import com.fr.form.ui.RadioGroup; import com.fr.form.ui.TextArea; import com.fr.form.ui.TextEditor; @@ -144,7 +142,7 @@ public abstract class WidgetOption implements Serializable { */ public static WidgetOption[] getFormWidgetIntance() { return new WidgetOption[]{TEXTEDITOR, LABEL, FREEBUTTON, COMBOBOX, COMBOCHECKBOX, DATEEDITOR, - NUMBEREDITOR, TREECOMBOBOX, RADIOGROUP, CHECKBOXGROUP, TEXTAREA, PASSWORD, CHECKBOX, TREE, MULTI_FILEEDITOR,PICTURE}; + NUMBEREDITOR, TREECOMBOBOX, RADIOGROUP, CHECKBOXGROUP, TEXTAREA, PASSWORD, CHECKBOX, TREE, MULTI_FILEEDITOR}; } public static final WidgetOption DATEEDITOR = WidgetOptionFactory.createByWidgetClass(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Date"), @@ -216,7 +214,4 @@ public abstract class WidgetOption implements Serializable { public static final WidgetOption IFRAMEDITOR = WidgetOptionFactory.createByWidgetClass(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Form_Iframe"), BaseUtils.readIcon("/com/fr/web/images/form/resources/iframe_16.png"), IframeEditor.class); - public static final WidgetOption PICTURE = WidgetOptionFactory.createByWidgetClass(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Image"), IconUtils.readIcon("/com/fr/web/images/form/resources/picture_widget_16.png"), - PictureWidget.class); - } diff --git a/designer-base/src/main/java/com/fr/design/gui/frpane/HyperlinkGroupPaneActionProvider.java b/designer-base/src/main/java/com/fr/design/gui/frpane/HyperlinkGroupPaneActionProvider.java index be0d8e852..525bb5b79 100644 --- a/designer-base/src/main/java/com/fr/design/gui/frpane/HyperlinkGroupPaneActionProvider.java +++ b/designer-base/src/main/java/com/fr/design/gui/frpane/HyperlinkGroupPaneActionProvider.java @@ -8,8 +8,6 @@ import com.fr.design.designer.TargetComponent; */ public interface HyperlinkGroupPaneActionProvider { - String XML_TAG = "HyperlinkGroupPane"; - /** * 刷新面板展示 * diff --git a/designer-base/src/main/resources/com/fr/design/images/buttonicon/widget/picture_widget_16.png b/designer-base/src/main/resources/com/fr/design/images/buttonicon/widget/picture_widget_16.png deleted file mode 100644 index fbf334ad2..000000000 Binary files a/designer-base/src/main/resources/com/fr/design/images/buttonicon/widget/picture_widget_16.png and /dev/null differ diff --git a/designer-base/src/main/resources/com/fr/design/images/form/designer/widget/picture_widget_designer_bg.png b/designer-base/src/main/resources/com/fr/design/images/form/designer/widget/picture_widget_designer_bg.png deleted file mode 100644 index 9e731c557..000000000 Binary files a/designer-base/src/main/resources/com/fr/design/images/form/designer/widget/picture_widget_designer_bg.png and /dev/null differ diff --git a/designer-form/src/main/java/com/fr/design/designer/creator/XCreatorUtils.java b/designer-form/src/main/java/com/fr/design/designer/creator/XCreatorUtils.java index 10a8fbfb1..5e7807698 100644 --- a/designer-form/src/main/java/com/fr/design/designer/creator/XCreatorUtils.java +++ b/designer-form/src/main/java/com/fr/design/designer/creator/XCreatorUtils.java @@ -47,7 +47,6 @@ import com.fr.form.ui.MultiFileEditor; import com.fr.form.ui.NameWidget; import com.fr.form.ui.NumberEditor; import com.fr.form.ui.Password; -import com.fr.form.ui.PictureWidget; import com.fr.form.ui.Radio; import com.fr.form.ui.RadioGroup; import com.fr.form.ui.TextArea; @@ -184,7 +183,6 @@ public class XCreatorUtils { objectMap.put(CardSwitchButton.class, XCardSwitchButton.class); objectMap.put(CardAddButton.class, XCardAddButton.class); objectMap.put(WidgetErrorMarker.class, ErrorCreator.class); - objectMap.put(PictureWidget.class, XPicture.class); } private static void reInitExtra() { diff --git a/designer-form/src/main/java/com/fr/design/designer/creator/XPicture.java b/designer-form/src/main/java/com/fr/design/designer/creator/XPicture.java deleted file mode 100644 index 7dd23bd4c..000000000 --- a/designer-form/src/main/java/com/fr/design/designer/creator/XPicture.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.fr.design.designer.creator; - -import com.fr.design.designer.ui.ImgPanel; -import com.fr.design.i18n.Toolkit; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.mainframe.widget.editors.PictureEditor; -import com.fr.design.mainframe.widget.editors.UrlLinkEditor; -import com.fr.design.mainframe.widget.renderer.PictureRenderer; -import com.fr.design.mainframe.widget.renderer.UrlLinkRenderer; -import com.fr.form.ui.PictureWidget; -import com.fr.general.IOUtils; -import com.fr.stable.ArrayUtils; -import java.awt.Dimension; -import java.awt.Image; -import java.beans.IntrospectionException; -import javax.swing.JComponent; - -/** -* -*

图片控件的creator

-* -* @author Jimmy.Zheng created on 2022/8/11 21:16 -**/ -public class XPicture extends XWidgetCreator { - - public XPicture(PictureWidget widget, Dimension dimension) { - super(widget, dimension); - } - - @Override - protected String getIconName() { - return "picture_widget_16.png"; - } - - @Override - public CRPropertyDescriptor[] supportedDescriptor() throws IntrospectionException { - return (CRPropertyDescriptor[]) ArrayUtils.addAll(super.supportedDescriptor(), new CRPropertyDescriptor[]{ - new CRPropertyDescriptor("picUrl", toData().getClass()) - .setI18NName(Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Image")) - .setEditorClass(PictureEditor.class) - .setRendererClass(PictureRenderer.class) - .putKeyValue("category", "Fine-Design_Basic_Advanced"), - new CRPropertyDescriptor("urlLink", toData().getClass()) - .setI18NName(Toolkit.i18nText("Fine-Design_Basic_Hyperlink")) - .setEditorClass(UrlLinkEditor.class) - .setRendererClass(UrlLinkRenderer.class) - .putKeyValue( - "category", "Fine-Design_Basic_Advanced")}); - } - - @Override - protected JComponent initEditor() { - PictureWidget pictureWidget = (PictureWidget) this.data; - if (this.editor == null) { - this.editor = FRGUIPaneFactory.createBorderLayout_S_Pane(); - Object value = pictureWidget.getPicUrl().getValue(); - ImgPanel imgPanel = new ImgPanel(); - if (value instanceof Image) { - imgPanel.setBackgroundImage((Image) value); - imgPanel.setImageDisplayMode(pictureWidget.getShowType()); - } else { - imgPanel.setBackgroundImage(IOUtils.readImage("com/fr/design/images/form/designer/widget/picture_widget_designer_bg.png")); - imgPanel.setImageDisplayMode(0); - } - this.editor.add(imgPanel, "Center"); - } - return this.editor; - } - - @Override - public boolean canEnterIntoParaPane() { - return false; - } -} diff --git a/designer-form/src/main/java/com/fr/design/designer/ui/ImgPanel.java b/designer-form/src/main/java/com/fr/design/designer/ui/ImgPanel.java deleted file mode 100644 index 05aa8ba46..000000000 --- a/designer-form/src/main/java/com/fr/design/designer/ui/ImgPanel.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.fr.design.designer.ui; - -import com.fr.general.ImageWithSuffix; -import java.awt.Graphics; -import java.awt.Image; -import javax.swing.JComponent; - - -/** -* -*

图片控件中的已选图片展示面板

-* -* @author Jimmy.Zheng created on 2022/8/11 21:17 -**/ -public class ImgPanel extends JComponent { - private static final long serialVersionUID = 1L; - private Image backgroundImage; - private int imageDisplayMode; - private int modeIndex; - - public ImgPanel() { - this(null, 0); - } - - public ImgPanel(Image image, int modeName) { - setBackgroundImage(image); - setImageDisplayMode(modeName); - } - - public void setBackgroundImage(Image image) { - this.backgroundImage = image; - repaint(); - } - - public Image getBackgroundImage() { - return this.backgroundImage; - } - - public void setImageDisplayMode(int modeName) { - if (modeName == 1) { - this.modeIndex = 0; - } - - if (modeName == 0) { - this.imageDisplayMode = 0; - this.modeIndex = 1; - } - - if (modeName == 2) { - this.imageDisplayMode = 2; - this.modeIndex = 2; - } - if (modeName == 4) { - this.imageDisplayMode = 4; - this.modeIndex = 3; - } - repaint(); - } - - public int getImageDisplayMode() { - return this.imageDisplayMode; - } - - @Override - protected void paintComponent(Graphics g) { - super.paintComponent(g); - - if (this.backgroundImage != null) { - if (this.backgroundImage instanceof ImageWithSuffix) { - this.backgroundImage = ((ImageWithSuffix) backgroundImage).getImage(); - } - int width = getWidth(); - int height = getHeight(); - int imageWidth = this.backgroundImage.getWidth(this); - int imageHeight = this.backgroundImage.getHeight(this); - - switch (this.modeIndex) { - case 0: - int x = (width - imageWidth) / 2; - int y = (height - imageHeight) / 2; - g.drawImage(this.backgroundImage, x, y, this); - break; - case 1: - for (int ix = 0; ix < width; ix += imageWidth) { - for (int iy = 0; iy < height; iy += imageHeight) { - g.drawImage(this.backgroundImage, ix, iy, this); - } - } - - break; - case 2: - g.drawImage(this.backgroundImage, 0, 0, width, height, this); - break; - case 3: - double sx = 1.0 * width / imageWidth; - double sy = 1.0 * height / imageHeight; - - if (sx > sy) { - sx = sy; - width = (int) (sx * imageWidth); - } else { - sy = sx; - height = (int) (sy * imageHeight); - } - int xx = (getWidth() - width) / 2; - int yy = (getHeight() - height) / 2; - g.drawImage(this.backgroundImage, xx, yy, width, height, this); - } - } - } -} diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessiblePictureModelEditor.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessiblePictureModelEditor.java deleted file mode 100644 index 9e72b5c2a..000000000 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessiblePictureModelEditor.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.fr.design.mainframe.widget.accessibles; - -import com.fr.base.Style; -import com.fr.design.DesignModelAdapter; -import com.fr.design.designer.creator.XPicture; -import com.fr.design.designer.ui.ImgPanel; -import com.fr.design.dialog.DialogActionAdapter; -import com.fr.design.mainframe.DesignerContext; -import com.fr.design.mainframe.WidgetPropertyPane; -import com.fr.design.mainframe.widget.wrappers.PictureModelWrapper; -import com.fr.design.report.SelectImagePane; -import com.fr.form.ui.PictureWidget; -import com.fr.general.ComparatorUtils; -import com.fr.report.cell.FloatElement; -import com.fr.report.cell.cellattr.CellImage; -import javax.swing.JComponent; - - -/** -* -*

图片控件的图片选择、编辑器

-* -* @author Jimmy.Zheng created on 2022/8/11 21:13 -**/ -public class AccessiblePictureModelEditor extends UneditableAccessibleEditor { - protected FloatElement element = new FloatElement(); - private PictureWidget pic; - - public AccessiblePictureModelEditor(PictureWidget pic) { - super(new PictureModelWrapper()); - this.pic = pic; - } - - @Override - public FloatElement getValue() { - return (FloatElement) super.getValue(); - } - - @Override - protected void showEditorPane() { - final SelectImagePane imageEditorPane = new SelectImagePane(); - if (super.getValue() != null) { - this.element = ((FloatElement) super.getValue()); - } - this.element.setStyle(Style.getInstance().deriveImageLayout(this.pic.getShowType())); - imageEditorPane.populate(this.element); - final Object oldValue = this.element.getValue(); - final Style oldStyle = this.element.getStyle(); - final String oldname = this.element.getName(); - imageEditorPane.showWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { - @Override - public void doOk() { - CellImage cellImage = imageEditorPane.update(); - if ((!ComparatorUtils.equals(cellImage.getImage(), oldValue)) || (!ComparatorUtils.equals(cellImage.getStyle(), oldStyle))) { - AccessiblePictureModelEditor.this.element.setValue(cellImage.getImage()); - AccessiblePictureModelEditor.this.element.setStyle(cellImage.getStyle()); - AccessiblePictureModelEditor.this.element.setName(imageEditorPane.getSelectedImage() == null ? oldname : imageEditorPane.getSelectedImage().toString()); - AccessiblePictureModelEditor.this.setValue(AccessiblePictureModelEditor.this.element); - AccessiblePictureModelEditor.this.pic.setShowType(cellImage.getStyle().getImageLayout()); - AccessiblePictureModelEditor.this.pic.setPicUrl(element); - ImgPanel p = AccessiblePictureModelEditor.this.getCurrentImgPanel(); - p.setBackgroundImage(cellImage.getBufferImage()); - p.setImageDisplayMode(cellImage.getStyle().getImageLayout()); - AccessiblePictureModelEditor.this.fireStateChanged(); - DesignModelAdapter d = DesignModelAdapter.getCurrentModelAdapter(); - d.fireTargetModified(); - } - } - }).setVisible(true); - } - - private ImgPanel getCurrentImgPanel() { - XPicture xPicture = (XPicture) WidgetPropertyPane.getInstance().getEditingFormDesigner().getSelectionModel().getSelection().getSelectedCreator(); - JComponent editor = (JComponent) xPicture.getComponent(0); - return (ImgPanel) editor.getComponent(0); - } -} \ No newline at end of file diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessibleUrlLinkModelEditor.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessibleUrlLinkModelEditor.java deleted file mode 100644 index 2dd4b5499..000000000 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessibleUrlLinkModelEditor.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.fr.design.mainframe.widget.accessibles; - -import com.fr.design.DesignModelAdapter; -import com.fr.design.dialog.BasicDialog; -import com.fr.design.dialog.DialogActionAdapter; -import com.fr.design.gui.frpane.HyperlinkGroupPaneActionProvider; -import com.fr.design.gui.xpane.FormHyperlinkGroupPane; -import com.fr.design.mainframe.DesignerContext; -import com.fr.design.mainframe.widget.wrappers.UrlLinkModelWrapper; -import com.fr.js.NameJavaScriptGroup; -import com.fr.stable.bridge.StableFactory; - -/** - *

表单图片控件的链接编辑器

- * @author Jimmy - */ -public class AccessibleUrlLinkModelEditor extends UneditableAccessibleEditor { - private FormHyperlinkGroupPane hyperlinkPane; - - public AccessibleUrlLinkModelEditor() { - super(new UrlLinkModelWrapper()); - } - /** - * 原插件使用 - *

DesignerContext.getDesignerFrame().getSelectedJTemplate().getHyperLinkPaneNoPop( - * HyperlinkGroupPaneActionImpl.getInstance()));

获取{@see this.hyperlinkPane} - * 合并插件依赖不到,换种方式 用{@see DesignerActivator将实例注册了} - */ - @Override - protected void showEditorPane() { - if (this.hyperlinkPane == null) { - HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider = StableFactory.getMarkedInstanceObjectFromClass(HyperlinkGroupPaneActionProvider.XML_TAG,HyperlinkGroupPaneActionProvider.class); - this.hyperlinkPane = (FormHyperlinkGroupPane) DesignerContext.getDesignerFrame().getSelectedJTemplate().getHyperLinkPaneNoPop( - hyperlinkGroupPaneActionProvider); - } - BasicDialog dialog = this.hyperlinkPane.showWindow(DesignerContext.getDesignerFrame()); - dialog.addDialogActionListener(new DialogActionAdapter() { - @Override - public void doOk() { - super.doOk(); - NameJavaScriptGroup hyperlinks = AccessibleUrlLinkModelEditor.this.hyperlinkPane.updateJSGroup(); - AccessibleUrlLinkModelEditor.this.setValue(hyperlinks); - AccessibleUrlLinkModelEditor.this.fireStateChanged(); - DesignModelAdapter d = DesignModelAdapter.getCurrentModelAdapter(); - d.fireTargetModified(); - } - }); - this.hyperlinkPane.populate(getValue()); - - dialog.setVisible(true); - } - - @Override - public NameJavaScriptGroup getValue() { - return (NameJavaScriptGroup) super.getValue(); - } -} diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/editors/PictureEditor.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/editors/PictureEditor.java deleted file mode 100644 index c7bbff80a..000000000 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/editors/PictureEditor.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.fr.design.mainframe.widget.editors; - -import com.fr.design.mainframe.widget.accessibles.AccessiblePictureModelEditor; -import com.fr.design.mainframe.widget.accessibles.AccessiblePropertyEditor; -import com.fr.form.ui.PictureWidget; -/** -* -*

图片控件的图片选择、编辑器

-* -* @author Jimmy.Zheng created on 2022/8/11 21:15 -**/ -public class PictureEditor extends AccessiblePropertyEditor { - - public PictureEditor(Object o) { - super(new AccessiblePictureModelEditor((PictureWidget) o)); - } -} diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/editors/UrlLinkEditor.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/editors/UrlLinkEditor.java deleted file mode 100644 index 195e8f525..000000000 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/editors/UrlLinkEditor.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.fr.design.mainframe.widget.editors; - -import com.fr.design.mainframe.widget.accessibles.AccessiblePropertyEditor; -import com.fr.design.mainframe.widget.accessibles.AccessibleUrlLinkModelEditor; - -/** -* -*

图片控件的链接编辑器

-* -* @author Jimmy.Zheng created on 2022/8/11 21:19 -**/ -public class UrlLinkEditor extends AccessiblePropertyEditor { - - public UrlLinkEditor() { - super(new AccessibleUrlLinkModelEditor()); - } -} \ No newline at end of file diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/renderer/PictureRenderer.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/renderer/PictureRenderer.java deleted file mode 100644 index 82fcc85b4..000000000 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/renderer/PictureRenderer.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.fr.design.mainframe.widget.renderer; - -import com.fr.design.mainframe.widget.wrappers.PictureModelWrapper; - -/** - *

图片控件的图片编辑器的EncoderCellRenderer

- * - * @author Jimmy.Zheng created on 2022/8/11 21:29 - **/ -public class PictureRenderer extends EncoderCellRenderer { - - public PictureRenderer() { - super(new PictureModelWrapper()); - } -} diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/renderer/UrlLinkRenderer.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/renderer/UrlLinkRenderer.java deleted file mode 100644 index a81187d2d..000000000 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/renderer/UrlLinkRenderer.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.fr.design.mainframe.widget.renderer; - - -import com.fr.design.mainframe.widget.wrappers.UrlLinkModelWrapper; - -/** - *

图片控件的链接编辑器的EncoderCellRenderer

- * - * @author Jimmy.Zheng created on 2022/8/11 21:29 - **/ -public class UrlLinkRenderer extends EncoderCellRenderer { - - public UrlLinkRenderer() { - super(new UrlLinkModelWrapper()); - } -} \ No newline at end of file diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/wrappers/PictureModelWrapper.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/wrappers/PictureModelWrapper.java deleted file mode 100644 index ed9fd0a4a..000000000 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/wrappers/PictureModelWrapper.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.fr.design.mainframe.widget.wrappers; - -import com.fr.design.Exception.ValidationException; -import com.fr.design.designer.properties.Decoder; -import com.fr.design.designer.properties.Encoder; -import com.fr.report.cell.FloatElement; -import com.fr.stable.StringUtils; - -/** - *

图片选择器 {@link com.fr.design.mainframe.widget.accessibles.AccessiblePictureModelEditor}的 Wrapper

- *

插件中直接移入,未作改动

- * - * @author Jimmy.Zheng created on 2022/8/11 21:25 - **/ -public class PictureModelWrapper implements Encoder, Decoder { - - @Override - public FloatElement decode(String txt) { - return null; - } - - @Override - public void validate(String txt) throws ValidationException { - // do nothing - } - - @Override - public String encode(FloatElement v) { - if (v != null) { - return v.getName(); - } - return StringUtils.EMPTY; - } -} diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/wrappers/UrlLinkModelWrapper.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/wrappers/UrlLinkModelWrapper.java deleted file mode 100644 index a892065ad..000000000 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/wrappers/UrlLinkModelWrapper.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.fr.design.mainframe.widget.wrappers; - -import com.fr.design.Exception.ValidationException; -import com.fr.design.designer.properties.Decoder; -import com.fr.design.designer.properties.Encoder; -import com.fr.js.NameJavaScriptGroup; - -/** - *

链接选择器 {@link com.fr.design.mainframe.widget.accessibles.AccessibleUrlLinkModelEditor}的 Wrapper

- *

插件中直接移入,未作改动

- * - * @author Jimmy.Zheng created on 2022/8/11 21:28 - **/ -public class UrlLinkModelWrapper implements Encoder, Decoder { - - @Override - public NameJavaScriptGroup decode(String txt) { - return null; - } - - @Override - public void validate(String txt) throws ValidationException { - // do nothing - } - - @Override - public String encode(NameJavaScriptGroup v) { - if (v.size() > 0) { - return v.getNameHyperlink(0).getName(); - } - return null; - } -} \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/report/SelectImagePane.java b/designer-realize/src/main/java/com/fr/design/report/SelectImagePane.java similarity index 96% rename from designer-base/src/main/java/com/fr/design/report/SelectImagePane.java rename to designer-realize/src/main/java/com/fr/design/report/SelectImagePane.java index 7781233aa..bcad15c76 100644 --- a/designer-base/src/main/java/com/fr/design/report/SelectImagePane.java +++ b/designer-realize/src/main/java/com/fr/design/report/SelectImagePane.java @@ -13,24 +13,22 @@ import com.fr.report.cell.Elem; import com.fr.report.cell.cellattr.CellImage; import com.fr.report.cell.painter.CellImagePainter; import com.fr.stable.Constants; + +import javax.swing.BorderFactory; +import javax.swing.ButtonGroup; +import javax.swing.JFileChooser; +import javax.swing.JPanel; +import javax.swing.JScrollPane; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; -import javax.swing.BorderFactory; -import javax.swing.ButtonGroup; -import javax.swing.JFileChooser; -import javax.swing.JPanel; -import javax.swing.JScrollPane; /** - *

这个类主要用于插入图片时的设置

- *

这个类原本在designer-realize包下面,现在表单也可选择图片,所以应该抽为公用的base包。包名不变,应该不影响插件使用

- * - * @author Jimmy.Zheng created on 2022/8/11 21:22 - **/ + * 这个类主要用于插入图片时的设置 + */ public class SelectImagePane extends BasicPane { private ImagePreviewPane previewPane = null; @@ -41,31 +39,8 @@ public class SelectImagePane extends BasicPane { private UIRadioButton adjustRadioButton = null; private Style imageStyle = null; - ActionListener layoutActionListener = new ActionListener() { - @Override - public void actionPerformed(ActionEvent evt) { - setImageStyle(); - changeImageStyle(); - } - }; private File imageFile; - /** - * Select picture. - */ - ActionListener selectPictureActionListener = new ActionListener() { - - @Override - public void actionPerformed(ActionEvent evt) { - int returnVal = imageFileChooser - .showOpenDialog(SelectImagePane.this); - if (returnVal != JFileChooser.CANCEL_OPTION) { - File selectedFile = imageFileChooser.getSelectedFile(); - imageFile = selectedFile; - ImgChooseWrapper.getInstance(previewPane, imageFileChooser, imageStyle, null).dealWithImageFile(returnVal); - } - } - }; public SelectImagePane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); @@ -127,6 +102,23 @@ public class SelectImagePane extends BasicPane { imageFileChooser.setMultiSelectionEnabled(false); } + /** + * Select picture. + */ + ActionListener selectPictureActionListener = new ActionListener() { + + @Override + public void actionPerformed(ActionEvent evt) { + int returnVal = imageFileChooser + .showOpenDialog(SelectImagePane.this); + if (returnVal != JFileChooser.CANCEL_OPTION) { + File selectedFile = imageFileChooser.getSelectedFile(); + imageFile = selectedFile; + ImgChooseWrapper.getInstance(previewPane, imageFileChooser, imageStyle, null).dealWithImageFile(returnVal); + } + } + }; + // 调整图片样式,只有水平和垂直对齐以及拉伸。相对于背景,平铺不予考虑。 private void changeImageStyle() { previewPane.setImageStyle(this.imageStyle); @@ -145,6 +137,15 @@ public class SelectImagePane extends BasicPane { } } + ActionListener layoutActionListener = new ActionListener() { + + @Override + public void actionPerformed(ActionEvent evt) { + setImageStyle(); + changeImageStyle(); + } + }; + @Override protected String title4PopupWindow() { return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Image"); diff --git a/designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java b/designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java index b69eda799..e7a00a4f1 100644 --- a/designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java +++ b/designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java @@ -40,7 +40,6 @@ import com.fr.design.form.parameter.FormParaDesigner; import com.fr.design.fun.ElementUIProvider; import com.fr.design.gui.controlpane.NameObjectCreator; import com.fr.design.gui.controlpane.NameableCreator; -import com.fr.design.gui.frpane.HyperlinkGroupPaneActionProvider; import com.fr.design.hyperlink.ReportletHyperlinkPane; import com.fr.design.hyperlink.WebHyperlinkPane; import com.fr.design.hyperlink.popup.MobilePopupPane; @@ -55,7 +54,6 @@ import com.fr.design.login.message.DesignerMessageHelper; import com.fr.design.login.socketio.LoginAuthServer; import com.fr.design.mainframe.BaseJForm; import com.fr.design.mainframe.FormHierarchyTreePane; -import com.fr.design.mainframe.HyperlinkGroupPaneActionImpl; import com.fr.design.mainframe.InformationCollector; import com.fr.design.mainframe.JTemplateEvent; import com.fr.design.mainframe.WidgetPropertyPane; @@ -144,13 +142,14 @@ import com.fr.start.common.DesignerStartupPool; import com.fr.task.Once; import com.fr.workspace.WorkContext; import com.fr.xml.ReportXMLUtils; + +import javax.swing.SwingWorker; import java.awt.Image; import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.concurrent.CompletableFuture; -import javax.swing.SwingWorker; /** * Created by juhaoyu on 2018/1/31. @@ -404,7 +403,6 @@ public class DesignerActivator extends Activator implements Prepare { private static void registerOtherPane() { StableFactory.registerMarkedClass(BBSGuestPaneProvider.XML_TAG, BBSGuestPane.class); - StableFactory.registerMarkedObject(HyperlinkGroupPaneActionProvider.XML_TAG, HyperlinkGroupPaneActionImpl.getInstance()); } /** diff --git a/designer-realize/src/main/java/com/fr/start/preload/ImagePreLoader.java b/designer-realize/src/main/java/com/fr/start/preload/ImagePreLoader.java index aad478348..24d23565c 100644 --- a/designer-realize/src/main/java/com/fr/start/preload/ImagePreLoader.java +++ b/designer-realize/src/main/java/com/fr/start/preload/ImagePreLoader.java @@ -242,7 +242,6 @@ public class ImagePreLoader { "com/fr/design/images/buttonicon/widget/label_16_normal.svg", "com/fr/web/images/form/resources/button_16.png", "com/fr/design/images/buttonicon/widget/button_16.png", - "com/fr/web/images/form/resources/picture_widget_16.png", "com/fr/design/images/buttonicon/widget/button_16_normal.svg", "com/fr/design/images/buttonicon/widget/files_up.png", "com/fr/design/images/buttonicon/widget/files_up_normal.svg",