Browse Source

Merge remote-tracking branch 'origin/fbp/master' into fbp/master

fbp/master
Destiny.Lin 4 months ago
parent
commit
a0689d4b7a
  1. 7
      designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java
  2. 5
      designer-base/src/main/java/com/fr/design/foldablepane/UIExpandablePane.java
  3. 24
      designer-base/src/main/java/com/fr/design/gui/controlpane/UISimpleListControlPane.java
  4. 12
      designer-base/src/main/java/com/fr/design/gui/ilist/TableViewList.java
  5. 3
      designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/ParaMobileDefinePane.java

7
designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java

@ -50,6 +50,7 @@ import javax.swing.JFrame;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.io.ByteArrayOutputStream;
import java.lang.reflect.UndeclaredThrowableException;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Collections;
@ -596,7 +597,11 @@ public abstract class DesignTableDataManager {
}
} catch (Exception e) {
throw new TableDataException(e.getMessage(), e);
String msg = e.getMessage();
if (e instanceof UndeclaredThrowableException) {
msg = ((UndeclaredThrowableException) e).getUndeclaredThrowable().getMessage();
}
throw new TableDataException(msg, e);
} finally {
ScheduledExecutorService scheduledExecutorService = ComponentUtils
.getExecutor()

5
designer-base/src/main/java/com/fr/design/foldablepane/UIExpandablePane.java

@ -59,15 +59,14 @@ public class UIExpandablePane extends JPanel {
headerPanel = new HeaderPane(title);
headerPanel.addMouseListener(new PanelAction());
setcontentPanelontentPanelBorder();
this.add(headerPanel, BorderLayout.NORTH);
this.add(contentPanel, BorderLayout.CENTER);
if (withUnderline) {
this.add(column(
cell(headerPanel), cell(contentPanel).with(it -> it.setBorder(new ScaledEmptyBorder(0, 0, 10, 0))),
fix(1).with(it -> it.setBorder(FineBorderFactory.createDefaultUnderlineBorder())))
.getComponent());
} else {
this.add(column(cell(headerPanel), cell(contentPanel)).getComponent());
this.add(headerPanel, BorderLayout.NORTH);
this.add(contentPanel, BorderLayout.CENTER);
}
setOpaque(false);

24
designer-base/src/main/java/com/fr/design/gui/controlpane/UISimpleListControlPane.java

@ -1,6 +1,9 @@
package com.fr.design.gui.controlpane;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineUIScale;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.actions.UpdateAction;
import com.fr.design.border.FineBorderFactory;
import com.fr.design.constants.UIConstants;
@ -9,6 +12,7 @@ import com.fr.design.gui.icontainer.UIScrollPane;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ilist.ListModelElement;
import com.fr.design.gui.ilist.UIList;
import com.fr.design.gui.ilist.UINameEdList;
import com.fr.design.gui.itoolbar.UIToolbar;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.menu.ShortCut;
@ -26,12 +30,14 @@ import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListCellRenderer;
import javax.swing.ListSelectionModel;
import javax.swing.UIManager;
import javax.swing.border.Border;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
@ -49,7 +55,7 @@ import java.util.Comparator;
public class UISimpleListControlPane extends BasicPane {
public static final String LIST_NAME = "UISimpleControl_List";
protected UIList nameList;
protected UINameEdList nameList;
protected String selectedName;
private ShortCut4JControlPane[] shorts;
private ToolBarDef toolbarDef;
@ -108,10 +114,8 @@ public class UISimpleListControlPane extends BasicPane {
protected void initListPane(JPanel listPane) {
nameList = createJNameList();
nameList.setName(LIST_NAME);
nameList.setSelectionBackground(UIConstants.ATTRIBUTE_PRESS);
listPane.add(new UIScrollPane(nameList), BorderLayout.CENTER);
nameList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
nameList.addMouseListener(listMouseListener);
nameList.addListSelectionListener(new ListSelectionListener() {
@ -124,8 +128,12 @@ public class UISimpleListControlPane extends BasicPane {
});
}
public UIList createJNameList() {
UIList nameList = new UIList(new DefaultListModel()) {
/**
* 构造 list设置 render
* @return UINameEdList
*/
public UINameEdList createJNameList() {
UINameEdList nameList = new UINameEdList(new DefaultListModel()) {
@Override
public int locationToIndex(Point location) {
int index = super.locationToIndex(location);
@ -411,6 +419,7 @@ public class UISimpleListControlPane extends BasicPane {
label = new UILabel();
initialLabelForeground = label.getForeground();
this.setLayout(new BorderLayout());
label.setBorder(new ScaledEmptyBorder(0, 6, 0, 0));
this.add(label, BorderLayout.CENTER);
}
@ -425,6 +434,7 @@ public class UISimpleListControlPane extends BasicPane {
@Override
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
setPreferredSize(new Dimension(list.getWidth(), FineUIScale.scale(UIManager.getInt("List.cellRender.height"))));
setComponentOrientation(list.getComponentOrientation());
Color bg = null;
@ -442,9 +452,7 @@ public class UISimpleListControlPane extends BasicPane {
}
if (isSelected) {
setBackground(bg == null ? list.getSelectionBackground() : bg);
setForeground(fg == null ? list.getSelectionForeground() : fg);
label.setForeground(Color.WHITE);
setBackground(FlatUIUtils.getUIColor("List.selectionInactiveBackground", Color.GRAY));
}
else {
setBackground(list.getBackground());

12
designer-base/src/main/java/com/fr/design/gui/ilist/TableViewList.java

@ -3,8 +3,6 @@ package com.fr.design.gui.ilist;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineUIScale;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.fanruan.config.impl.data.ConnectionConfigProviderFactory;
import com.fr.base.BaseUtils;
import com.fr.data.core.DataCoreUtils;
import com.fr.data.core.db.TableProcedure;
import com.fr.data.core.db.dialect.base.key.check.DataBaseDetail;
@ -19,7 +17,6 @@ import com.fr.general.ComparatorUtils;
import com.fr.log.FineLoggerFactory;
import com.fr.stable.ArrayUtils;
import com.fr.stable.StringUtils;
import com.fr.workspace.server.entity.connection.ConnectionBean;
import com.fr.workspace.server.repository.connection.ConnectionRepository;
import javax.swing.DefaultListCellRenderer;
@ -47,9 +44,10 @@ import java.util.concurrent.CancellationException;
* 表或者视图或者存储过程组成的一个下拉列表
*
* @author zhou
* @since 2012-3-28下午10:07:34
* @Created on 2012-3-28下午10:07:34
* @since 11.0
*/
public class TableViewList extends UIList {
public class TableViewList extends JList {
/**
*
@ -162,7 +160,7 @@ public class TableViewList extends UIList {
* augustdatabaseName是数据库名字searchFilter是输入的过滤条件,typesFilter是视图
* 存储过程中的一者或者几者
*
* @param databaseName
* @param datasource
* @param searchFilter
* @param typesFilter
*/
@ -267,7 +265,7 @@ public class TableViewList extends UIList {
icon = new LazyIcon("store_procedure");
}
this.setIcon(icon);
this.setToolTipText(getPreferredSize().width > list.getVisibleRect().width ? this.getText() : null);
return this;
}

3
designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/ParaMobileDefinePane.java

@ -1,6 +1,7 @@
package com.fr.design.widget.ui.designer.mobile;
import com.fine.theme.utils.FineLayoutBuilder;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.ExtraDesignClassManager;
import com.fr.design.designer.beans.events.DesignerEvent;
import com.fr.design.designer.creator.XCreator;
@ -77,7 +78,7 @@ public class ParaMobileDefinePane extends MobileWidgetDefinePane {
mobileWidgetListPane = new MobileWidgetListPane(designer, (WSortLayout) paraCreator.toData());
JPanel panelWrapper = FRGUIPaneFactory.createBorderLayout_S_Pane();
panelWrapper.add(mobileWidgetListPane, BorderLayout.CENTER);
panelWrapper.setBorder(new ScaledEmptyBorder(0, 0, 10, 0));
return new UIExpandablePane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Order"), 280, 20, panelWrapper);
}

Loading…
Cancel
Save