@ -1,10 +1,11 @@
package com.fr.design.parameter ;
package com.fr.design.parameter ;
import com.fr.base.BaseUtils ;
import com.fine.swing.ui.layout.Column ;
import com.fine.theme.icon.LazyIcon ;
import com.fr.design.ExtraDesignClassManager ;
import com.fr.design.ExtraDesignClassManager ;
import com.fr.design.beans.BasicBeanPane ;
import com.fr.design.beans.BasicBeanPane ;
import com.fr.design.border.FineBorderFactory ;
import com.fr.design.data.DataCreatorUI ;
import com.fr.design.data.DataCreatorUI ;
import com.fr.design.designer.IntervalConstants ;
import com.fr.design.designer.creator.CRPropertyDescriptor ;
import com.fr.design.designer.creator.CRPropertyDescriptor ;
import com.fr.design.designer.creator.PropertyGroupPane ;
import com.fr.design.designer.creator.PropertyGroupPane ;
import com.fr.design.designer.creator.XCreator ;
import com.fr.design.designer.creator.XCreator ;
@ -21,18 +22,16 @@ import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner ;
import com.fr.design.gui.ispinner.UISpinner ;
import com.fr.design.gui.itextfield.UITextField ;
import com.fr.design.gui.itextfield.UITextField ;
import com.fr.design.layout.FRGUIPaneFactory ;
import com.fr.design.layout.FRGUIPaneFactory ;
import com.fr.design.layout.TableLayout ;
import com.fr.design.layout.TableLayoutHelper ;
import com.fr.design.mainframe.DesignerUIModeConfig ;
import com.fr.design.mainframe.DesignerUIModeConfig ;
import com.fr.design.mainframe.FormDesigner ;
import com.fr.design.mainframe.FormDesigner ;
import com.fr.design.mainframe.FormSelection ;
import com.fr.design.mainframe.FormSelection ;
import com.fr.design.mainframe.JTemplate ;
import com.fr.design.mainframe.JTemplate ;
import com.fr.design.mainframe.widget.accessibles.AccessibleBackgroundEditor ;
import com.fr.design.mainframe.widget.accessibles.AccessibleBackgroundEditor ;
import com.fr.design.widgettheme.processor.WidgetThemeParaCreatorPaneAdder ;
import com.fr.design.utils.gui.LayoutUtils ;
import com.fr.design.utils.gui.LayoutUtils ;
import com.fr.design.utils.gui.UIComponentUtils ;
import com.fr.design.utils.gui.UIComponentUtils ;
import com.fr.design.widget.ui.designer.AbstractDataModify ;
import com.fr.design.widget.ui.designer.AbstractDataModify ;
import com.fr.design.widget.ui.designer.component.UIBoundSpinner ;
import com.fr.design.widget.ui.designer.component.UIBoundSpinner ;
import com.fr.design.widgettheme.processor.WidgetThemeParaCreatorPaneAdder ;
import com.fr.form.ui.container.WParameterLayout ;
import com.fr.form.ui.container.WParameterLayout ;
import com.fr.general.Background ;
import com.fr.general.Background ;
import com.fr.general.GeneralContext ;
import com.fr.general.GeneralContext ;
@ -40,7 +39,6 @@ import com.fr.plugin.observer.PluginEvent;
import com.fr.plugin.observer.PluginEventListener ;
import com.fr.plugin.observer.PluginEventListener ;
import com.fr.report.stable.FormConstants ;
import com.fr.report.stable.FormConstants ;
import javax.swing.BorderFactory ;
import javax.swing.Icon ;
import javax.swing.Icon ;
import javax.swing.JCheckBox ;
import javax.swing.JCheckBox ;
import javax.swing.JPanel ;
import javax.swing.JPanel ;
@ -51,6 +49,14 @@ import java.util.ArrayList;
import java.util.List ;
import java.util.List ;
import java.util.Set ;
import java.util.Set ;
import static com.fine.swing.ui.layout.Layouts.cell ;
import static com.fine.swing.ui.layout.Layouts.column ;
import static com.fine.swing.ui.layout.Layouts.fix ;
import static com.fine.swing.ui.layout.Layouts.row ;
import static com.fr.design.constants.LayoutConstants.LEFT_WEIGHT ;
import static com.fr.design.constants.LayoutConstants.RIGHT_WEIGHT ;
import static com.fr.design.constants.LayoutConstants.VERTICAL_GAP ;
/ * *
/ * *
* Created by ibm on 2017 / 8 / 2 .
* Created by ibm on 2017 / 8 / 2 .
* /
* /
@ -69,6 +75,7 @@ public class RootDesignDefinePane extends AbstractDataModify<WParameterLayout> {
private PropertyGroupPane extraPropertyGroupPane ;
private PropertyGroupPane extraPropertyGroupPane ;
protected final List < BasicBeanPane < WParameterLayout > > extraPaneList = new ArrayList < > ( ) ;
protected final List < BasicBeanPane < WParameterLayout > > extraPaneList = new ArrayList < > ( ) ;
private JPanel backgroundPane ;
private JPanel backgroundPane ;
private JPanel corePane ;
public RootDesignDefinePane ( XCreator xCreator ) {
public RootDesignDefinePane ( XCreator xCreator ) {
super ( xCreator ) ;
super ( xCreator ) ;
@ -80,6 +87,8 @@ public class RootDesignDefinePane extends AbstractDataModify<WParameterLayout> {
public void initComponent ( ) {
public void initComponent ( ) {
this . setLayout ( FRGUIPaneFactory . createBorderLayout ( ) ) ;
this . setLayout ( FRGUIPaneFactory . createBorderLayout ( ) ) ;
corePane = new Column ( ) ;
this . add ( corePane , BorderLayout . CENTER ) ;
if ( newForm ) {
if ( newForm ) {
paraHeight = new UIBoundSpinner ( 0 , Integer . MAX_VALUE , 1 , 0 ) ;
paraHeight = new UIBoundSpinner ( 0 , Integer . MAX_VALUE , 1 , 0 ) ;
} else {
} else {
@ -87,10 +96,11 @@ public class RootDesignDefinePane extends AbstractDataModify<WParameterLayout> {
}
}
JPanel advancePane = createAdvancePane ( ) ;
JPanel advancePane = createAdvancePane ( ) ;
UIExpandablePane advanceExpandablePane = new UIExpandablePane ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Report_Advanced" ) , 280 , 20 , advancePane ) ;
UIExpandablePane advanceExpandablePane = new UIExpandablePane ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Report_Advanced" ) , 280 , 20 , advancePane ) ;
this . add ( advanceExpandablePane , BorderLayout . NORTH ) ;
corePane . add ( advanceExpandablePane ) ;
JPanel layoutPane = createBoundsPane ( ) ;
JPanel layoutPane = createBoundsPane ( ) ;
UIExpandablePane layoutExpandablePane = new UIExpandablePane ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Size" ) , 280 , 20 , layoutPane ) ;
UIExpandablePane layoutExpandablePane = new UIExpandablePane ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Size" ) , 280 , 20 , layoutPane ) ;
this . add ( layoutExpandablePane , BorderLayout . CENTER ) ;
corePane . add ( fix ( 10 ) . with ( it - > it . setBorder ( FineBorderFactory . createDefaultUnderlineBorder ( ) ) ) . getComponent ( ) ) ;
corePane . add ( layoutExpandablePane ) ;
this . addExtraUIExpandablePaneFromPlugin ( ) ;
this . addExtraUIExpandablePaneFromPlugin ( ) ;
}
}
@ -104,23 +114,21 @@ public class RootDesignDefinePane extends AbstractDataModify<WParameterLayout> {
panel . add ( uiExpandablePane ) ;
panel . add ( uiExpandablePane ) ;
}
}
}
}
this . add ( panel , BorderLayout . SOUTH ) ;
corePane . add ( panel ) ;
}
}
public JPanel createBoundsPane ( ) {
public JPanel createBoundsPane ( ) {
double f = TableLayout . FILL ;
if ( newForm ) {
double p = TableLayout . PREFERRED ;
return row (
double [ ] rowSize = { p } ;
cell ( new UILabel ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Designer_Fit_Design_Height" ) ) ) . weight ( LEFT_WEIGHT ) ,
double [ ] columnSize = { p , f } ;
cell ( paraHeight ) . weight ( RIGHT_WEIGHT )
int [ ] [ ] rowCount = { { 1 , 1 } } ;
) . getComponent ( ) ;
Component [ ] component = newForm ? new Component [ ] { new UILabel ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Designer_Fit_Design_Height" ) ) , paraHeight } :
} else {
new Component [ ] { new UILabel ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Desin_Width" ) ) , designerWidth } ;
return row (
Component [ ] [ ] components = new Component [ ] [ ] { component } ;
cell ( new UILabel ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Desin_Width" ) ) ) . weight ( LEFT_WEIGHT ) ,
JPanel panel = TableLayoutHelper . createGapTableLayoutPane ( components , rowSize , columnSize , rowCount , IntervalConstants . INTERVAL_W1 , IntervalConstants . INTERVAL_L1 ) ;
cell ( designerWidth ) . weight ( RIGHT_WEIGHT )
JPanel jPanel = FRGUIPaneFactory . createBorderLayout_S_Pane ( ) ;
) . getComponent ( ) ;
panel . setBorder ( BorderFactory . createEmptyBorder ( 10 , 0 , 10 , 0 ) ) ;
}
jPanel . add ( panel ) ;
return jPanel ;
}
}
public JPanel createAdvancePane ( ) {
public JPanel createAdvancePane ( ) {
@ -139,14 +147,12 @@ public class RootDesignDefinePane extends AbstractDataModify<WParameterLayout> {
* @date : 2020 / 11 / 05 15 : 36
* @date : 2020 / 11 / 05 15 : 36
* /
* /
private JPanel getTemplateAdvancePane ( ) {
private JPanel getTemplateAdvancePane ( ) {
JPanel jPanel = FRGUIPaneFactory . createBorderLayout_S_Pane ( ) ;
labelNameTextField = new UITextField ( ) ;
labelNameTextField = new UITextField ( ) ;
displayReport = new UICheckBox ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Display_Nothing_Before_Query" ) ) ;
displayReport = new UICheckBox ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Display_Nothing_Before_Query" ) ) ;
UIComponentUtils . setLineWrap ( displayReport ) ;
UIComponentUtils . setLineWrap ( displayReport ) ;
useParamsTemplate = new UICheckBox ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Use_Params_Template" ) ) ;
useParamsTemplate = new UICheckBox ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Use_Params_Template" ) ) ;
fireAfterEditor = new UICheckBox ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Trigger_Editing_End_Event" ) ) ;
fireAfterEditor = new UICheckBox ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Trigger_Editing_End_Event" ) ) ;
fireAfterEditor . setEnabled ( false ) ;
fireAfterEditor . setEnabled ( false ) ;
fireAfterEditor . setBorder ( BorderFactory . createEmptyBorder ( 0 , 30 , 0 , 0 ) ) ;
useParamsTemplate . addChangeListener ( e - > {
useParamsTemplate . addChangeListener ( e - > {
boolean isSelected = ( ( UICheckBox ) e . getSource ( ) ) . isSelected ( ) ;
boolean isSelected = ( ( UICheckBox ) e . getSource ( ) ) . isSelected ( ) ;
fireAfterEditor . setEnabled ( isSelected ) ;
fireAfterEditor . setEnabled ( isSelected ) ;
@ -154,37 +160,37 @@ public class RootDesignDefinePane extends AbstractDataModify<WParameterLayout> {
fireAfterEditor . setSelected ( false ) ;
fireAfterEditor . setSelected ( false ) ;
}
}
} ) ;
} ) ;
Icon [ ] hAlignmentIconArray = { BaseUtils . readIcon ( "/com/fr/design/images/m_format/cellstyle/h_left_normal.png" ) ,
Icon [ ] [ ] hAlignmentIconArray = { { new LazyIcon ( "h_left" ) , new LazyIcon ( "h_left" ) . white ( ) } ,
BaseUtils . readIcon ( "/com/fr/design/images/m_format/cellstyle/h_center_normal.png" ) ,
{ new LazyIcon ( "h_center" ) , new LazyIcon ( "h_center" ) . white ( ) } ,
BaseUtils . readIcon ( "/com/fr/design/images/m_format/cellstyle/h_right_normal.png" ) , } ;
{ new LazyIcon ( "h_right" ) , new LazyIcon ( "h_right" ) . white ( ) } } ;
Integer [ ] hAlignment = new Integer [ ] { FormConstants . LEFTPOSITION , FormConstants . CENTERPOSITION , FormConstants . RIGHTPOSITION } ;
Integer [ ] hAlignment = new Integer [ ] { FormConstants . LEFTPOSITION , FormConstants . CENTERPOSITION , FormConstants . RIGHTPOSITION } ;
hAlignmentPane = new UIButtonGroup < Integer > ( hAlignmentIconArray , hAlignment ) ;
hAlignmentPane = new UIButtonGroup < > ( hAlignmentIconArray , hAlignment ) ;
hAlignmentPane . setAllToolTips ( new String [ ] { com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_StyleAlignment_Left" )
hAlignmentPane . setAllToolTips ( new String [ ] { com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_StyleAlignment_Left" )
, com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_StyleAlignment_Center" ) , com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_StyleAlignment_Right" ) } ) ;
, com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_StyleAlignment_Center" ) , com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_StyleAlignment_Right" ) } ) ;
backgroundPane = FRGUIPaneFactory . createBorderLayout_S_Pane ( ) ;
backgroundPane = FRGUIPaneFactory . createBorderLayout_S_Pane ( ) ;
this . initExtraPane ( ) ;
this . initExtraPane ( ) ;
double f = TableLayout . FILL ;
CRPropertyDescriptor [ ] extraTableEditor = root . getExtraTableEditor ( ) ;
double p = TableLayout . PREFERRED ;
double [ ] rowSize = { p , p , p , p , p , p } ;
double [ ] columnSize = { p , f } ;
int [ ] [ ] rowCount = { { 1 , 1 } , { 1 , 1 } , { 1 , 1 } , { 1 , 1 } , { 1 , 1 } , { 1 , 1 } } ;
Component [ ] [ ] components = new Component [ ] [ ] {
new Component [ ] { new UILabel ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Label_Name" ) ) , labelNameTextField } ,
new Component [ ] { new UILabel ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Report_Base_Background" ) ) , backgroundPane } ,
new Component [ ] { displayReport , null } ,
new Component [ ] { useParamsTemplate , null } ,
new Component [ ] { fireAfterEditor , null } ,
new Component [ ] { new UILabel ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Widget_Display_Position" ) ) , hAlignmentPane }
} ;
JPanel panel = TableLayoutHelper . createGapTableLayoutPane ( components , rowSize , columnSize , rowCount , IntervalConstants . INTERVAL_W0 , IntervalConstants . INTERVAL_L1 ) ;
panel . setBorder ( BorderFactory . createEmptyBorder ( 0 , 0 , 0 , 0 ) ) ;
CRPropertyDescriptor [ ] extraTableEditor = new CRPropertyDescriptor [ 0 ] ;
extraTableEditor = root . getExtraTableEditor ( ) ;
extraPropertyGroupPane = new PropertyGroupPane ( extraTableEditor , root ) ;
extraPropertyGroupPane = new PropertyGroupPane ( extraTableEditor , root ) ;
jPanel . add ( panel , BorderLayout . NORTH ) ;
return column ( VERTICAL_GAP ,
jPanel . add ( extraPropertyGroupPane , BorderLayout . CENTER ) ;
row (
return jPanel ;
cell ( new UILabel ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Label_Name" ) ) ) . weight ( LEFT_WEIGHT ) ,
cell ( labelNameTextField ) . weight ( RIGHT_WEIGHT )
) ,
row (
cell ( new UILabel ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Report_Base_Background" ) ) ) . weight ( LEFT_WEIGHT ) ,
cell ( backgroundPane ) . weight ( RIGHT_WEIGHT )
) ,
cell ( displayReport ) ,
cell ( useParamsTemplate ) ,
cell ( fireAfterEditor ) ,
row (
cell ( new UILabel ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Widget_Display_Position" ) ) ) . weight ( LEFT_WEIGHT ) ,
cell ( hAlignmentPane ) . weight ( RIGHT_WEIGHT )
) ,
cell ( extraPropertyGroupPane )
) . getComponent ( ) ;
}
}
private void initExtraPane ( ) {
private void initExtraPane ( ) {
@ -244,14 +250,12 @@ public class RootDesignDefinePane extends AbstractDataModify<WParameterLayout> {
* @date : 2020 / 11 / 05 15 : 36
* @date : 2020 / 11 / 05 15 : 36
* /
* /
private JPanel getNewFormAdvancePane ( ) {
private JPanel getNewFormAdvancePane ( ) {
JPanel jPanel = FRGUIPaneFactory . createBorderLayout_S_Pane ( ) ;
labelNameTextField = new UITextField ( ) ;
labelNameTextField = new UITextField ( ) ;
displayReport = new UICheckBox ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Display_Nothing_Before_Query" ) ) ;
displayReport = new UICheckBox ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Display_Nothing_Before_Query" ) ) ;
UIComponentUtils . setLineWrap ( displayReport ) ;
UIComponentUtils . setLineWrap ( displayReport ) ;
useParamsTemplate = new UICheckBox ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Use_Params_Template" ) ) ;
useParamsTemplate = new UICheckBox ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Use_Params_Template" ) ) ;
fireAfterEditor = new UICheckBox ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Trigger_Editing_End_Event" ) ) ;
fireAfterEditor = new UICheckBox ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Trigger_Editing_End_Event" ) ) ;
fireAfterEditor . setEnabled ( false ) ;
fireAfterEditor . setEnabled ( false ) ;
fireAfterEditor . setBorder ( BorderFactory . createEmptyBorder ( 0 , 30 , 0 , 0 ) ) ;
useParamsTemplate . addChangeListener ( e - > {
useParamsTemplate . addChangeListener ( e - > {
boolean isSelected = ( ( UICheckBox ) e . getSource ( ) ) . isSelected ( ) ;
boolean isSelected = ( ( UICheckBox ) e . getSource ( ) ) . isSelected ( ) ;
fireAfterEditor . setEnabled ( isSelected ) ;
fireAfterEditor . setEnabled ( isSelected ) ;
@ -261,24 +265,20 @@ public class RootDesignDefinePane extends AbstractDataModify<WParameterLayout> {
} ) ;
} ) ;
backgroundPane = FRGUIPaneFactory . createBorderLayout_S_Pane ( ) ;
backgroundPane = FRGUIPaneFactory . createBorderLayout_S_Pane ( ) ;
this . initExtraPane ( ) ;
this . initExtraPane ( ) ;
double f = TableLayout . FILL ;
double p = TableLayout . PREFERRED ;
double [ ] rowSize = { p , p , p , p , p } ;
double [ ] columnSize = { p , f } ;
int [ ] [ ] rowCount = { { 1 , 1 } , { 1 , 1 } , { 1 , 1 } , { 1 , 1 } , { 1 , 1 } } ;
Component [ ] [ ] components = new Component [ ] [ ] {
new Component [ ] { new UILabel ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Label_Name" ) ) , labelNameTextField } ,
new Component [ ] { new UILabel ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Report_Base_Background" ) ) , backgroundPane } ,
new Component [ ] { displayReport , null } ,
new Component [ ] { useParamsTemplate , null } ,
new Component [ ] { fireAfterEditor , null } ,
} ;
JPanel panel = TableLayoutHelper . createGapTableLayoutPane ( components , rowSize , columnSize , rowCount , IntervalConstants . INTERVAL_W0 , IntervalConstants . INTERVAL_L1 ) ;
panel . setBorder ( BorderFactory . createEmptyBorder ( IntervalConstants . INTERVAL_L1 , 0 , IntervalConstants . INTERVAL_L1 , 0 ) ) ;
jPanel . add ( panel , BorderLayout . NORTH ) ;
return jPanel ;
return column ( VERTICAL_GAP ,
row (
cell ( new UILabel ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Form_Label_Name" ) ) ) . weight ( LEFT_WEIGHT ) ,
cell ( labelNameTextField ) . weight ( RIGHT_WEIGHT )
) ,
row (
cell ( new UILabel ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Report_Base_Background" ) ) ) . weight ( LEFT_WEIGHT ) ,
cell ( backgroundPane ) . weight ( RIGHT_WEIGHT )
) ,
cell ( displayReport ) ,
cell ( useParamsTemplate ) ,
cell ( fireAfterEditor )
) . getComponent ( ) ;
}
}
@Override
@Override