@ -1,5 +1,6 @@
package com.fr.design.mainframe.theme.preview.ecpreview ;
package com.fr.design.mainframe.theme.preview.ecpreview ;
import com.fr.base.CellBorderSourceFlag ;
import com.fr.base.theme.ReportTheme ;
import com.fr.base.theme.ReportTheme ;
import com.fr.base.theme.TemplateTheme ;
import com.fr.base.theme.TemplateTheme ;
import com.fr.base.theme.settings.ThemedCellStyleList ;
import com.fr.base.theme.settings.ThemedCellStyleList ;
@ -22,12 +23,12 @@ import java.util.ArrayList;
import java.util.List ;
import java.util.List ;
public class ECReportPreviewPane extends UINoOpaquePanel implements ThemePreviewed < ReportTheme > {
public class ECReportPreviewPane extends UINoOpaquePanel implements ThemePreviewed < ReportTheme > {
private final List < AbstractPreviewCell > headerTitleCellList = new ArrayList < > ( ) ;
private final List < AbstractPreviewCell > headerTitleCellList = new ArrayList < > ( ) ; // 大标题样式单元格
private final List < AbstractPreviewCell > headerCellList = new ArrayList < > ( ) ;
private final List < AbstractPreviewCell > headerCellList = new ArrayList < > ( ) ; // 表头样式单元格
private final List < AbstractPreviewCell > titleCellList = new ArrayList < > ( ) ;
private final List < AbstractPreviewCell > titleCellList = new ArrayList < > ( ) ; // 小标题样式单元格
private final List < AbstractPreviewCell > contentCellList = new ArrayList < > ( ) ;
private final List < AbstractPreviewCell > contentCellList = new ArrayList < > ( ) ; // 正文样式单元格
private final List < AbstractPreviewCell > highLightCellList = new ArrayList < > ( ) ;
private final List < AbstractPreviewCell > highLightCellList = new ArrayList < > ( ) ; // 高亮文本样式单元格
private final List < AbstractPreviewCell > assistCellList = new ArrayList < > ( ) ;
private final List < AbstractPreviewCell > assistCellList = new ArrayList < > ( ) ; // 辅助信息样式单元格
private static final int CONTENT_ROW_COUNT = 3 ;
private static final int CONTENT_ROW_COUNT = 3 ;
private static final int COL_COUNT = 5 ;
private static final int COL_COUNT = 5 ;
@ -64,31 +65,38 @@ public class ECReportPreviewPane extends UINoOpaquePanel implements ThemePreview
private JPanel createNorthPane ( ) {
private JPanel createNorthPane ( ) {
JPanel northPane = FRGUIPaneFactory . createBorderLayout_NO_Opaque_Pane ( ) ;
JPanel northPane = FRGUIPaneFactory . createBorderLayout_NO_Opaque_Pane ( ) ;
AbstractPreviewCell bigTitleCell = new PreviewCell ( Toolkit . i18nText ( "Fine-Design_Basic_Template_Theme_Profile_Pane_Cell_Style_Big_Title" ) ) ;
AbstractPreviewCell bigTitleCell = new PreviewCell ( Toolkit . i18nText ( "Fine-Design_Basic_Template_Theme_Profile_Pane_Cell_Style_Big_Title" ) ) ;
bigTitleCell . setBorderSourceFlag ( CellBorderSourceFlag . ALL_BORDER_SOURCE_OUTER ) ;
bigTitleCell . setPreferredSize ( new Dimension ( 615 , 46 ) ) ;
bigTitleCell . setPreferredSize ( new Dimension ( 615 , 46 ) ) ;
headerTitleCellList . add ( bigTitleCell ) ;
headerTitleCellList . add ( bigTitleCell ) ;
northPane . add ( bigTitleCell , BorderLayout . NORTH ) ;
northPane . add ( bigTitleCell , BorderLayout . NORTH ) ;
CornerPreviewCell cornerCell = new CornerPreviewCell ( new String [ ] { Toolkit . i18nText ( "Fine-Design_Basic_Column_Name" ) ,
CornerPreviewCell cornerCell = new CornerPreviewCell ( new String [ ] { Toolkit . i18nText ( "Fine-Design_Basic_Column_Name" ) ,
Toolkit . i18nText ( "Fine-Design_Basic_Template_Theme_Profile_Pane_EC_Data" ) , Toolkit . i18nText ( "Fine-Design_Basic_Template_Theme_Profile_Pane_Row_Name" ) } ,
Toolkit . i18nText ( "Fine-Design_Basic_Template_Theme_Profile_Pane_EC_Data" ) , Toolkit . i18nText ( "Fine-Design_Basic_Template_Theme_Profile_Pane_Row_Name" ) } ,
new Point2D [ ] { new Point ( 159 , 71 ) , new Point ( 225 , 49 ) } ) ;
new Point2D [ ] { new Point ( 159 , 71 ) , new Point ( 225 , 49 ) } ) ;
cornerCell . setBorderSourceFlag ( CellBorderSourceFlag . INVALID_BORDER_SOURCE ) ;
cornerCell . setPreferredSize ( new Dimension ( 225 , 71 ) ) ;
cornerCell . setPreferredSize ( new Dimension ( 225 , 71 ) ) ;
titleCellList . add ( cornerCell ) ;
titleCellList . add ( cornerCell ) ;
northPane . add ( cornerCell , BorderLayout . WEST ) ;
northPane . add ( cornerCell , BorderLayout . WEST ) ;
JPanel centerPane = FRGUIPaneFactory . createBorderLayout_NO_Opaque_Pane ( ) ;
JPanel centerPane = FRGUIPaneFactory . createBorderLayout_NO_Opaque_Pane ( ) ;
northPane . add ( centerPane , BorderLayout . CENTER ) ;
northPane . add ( centerPane , BorderLayout . CENTER ) ;
PreviewCell cell = new PreviewCell ( Toolkit . i18nText ( "Fine-Design_Basic_Predefined_Style_Small_Title" ) ) ;
PreviewCell cell = new PreviewCell ( Toolkit . i18nText ( "Fine-Design_Basic_Predefined_Style_Small_Title" ) ) ;
cell . setBorderSourceFlag ( CellBorderSourceFlag . ALL_BORDER_SOURCE_OUTER ) ;
titleCellList . add ( cell ) ;
titleCellList . add ( cell ) ;
cell . setPreferredSize ( new Dimension ( 308 , 38 ) ) ;
cell . setPreferredSize ( new Dimension ( 308 , 38 ) ) ;
centerPane . add ( cell , BorderLayout . NORTH ) ;
centerPane . add ( cell , BorderLayout . NORTH ) ;
JPanel eastSouthPane = new UINoOpaquePanel ( new GridLayout ( ) ) ;
JPanel eastSouthPane = new UINoOpaquePanel ( new GridLayout ( ) ) ;
PreviewCell cell1 = new PreviewCell ( Toolkit . i18nText ( "Fine-Design_Basic_Predefined_Style_Header" ) ) ;
for ( int c = 0 ; c < CONTENT_ROW_COUNT ; c + + ) {
PreviewCell cell2 = new PreviewCell ( Toolkit . i18nText ( "Fine-Design_Basic_Predefined_Style_Header" ) ) ;
PreviewCell headerCell = new PreviewCell ( Toolkit . i18nText ( "Fine-Design_Basic_Predefined_Style_Header" ) ) ;
PreviewCell cell3 = new PreviewCell ( Toolkit . i18nText ( "Fine-Design_Basic_Predefined_Style_Header" ) ) ;
int flag = CellBorderSourceFlag . ALL_BORDER_SOURCE_OUTER ;
headerCellList . add ( cell1 ) ;
if ( c > 0 ) {
headerCellList . add ( cell2 ) ;
flag | = CellBorderSourceFlag . LEFT_BORDER_SOURCE_INNER ;
headerCellList . add ( cell3 ) ;
}
eastSouthPane . add ( cell1 ) ;
if ( c < CONTENT_ROW_COUNT - 1 ) {
eastSouthPane . add ( cell2 ) ;
flag | = CellBorderSourceFlag . RIGHT_BORDER_SOURCE_INNER ;
eastSouthPane . add ( cell3 ) ;
}
headerCell . setBorderSourceFlag ( flag ) ;
headerCellList . add ( headerCell ) ;
eastSouthPane . add ( headerCell ) ;
}
centerPane . add ( eastSouthPane , BorderLayout . CENTER ) ;
centerPane . add ( eastSouthPane , BorderLayout . CENTER ) ;
return northPane ;
return northPane ;
}
}
@ -102,8 +110,16 @@ public class ECReportPreviewPane extends UINoOpaquePanel implements ThemePreview
cell1 . setPreferredSize ( new Dimension ( 112 , 153 ) ) ;
cell1 . setPreferredSize ( new Dimension ( 112 , 153 ) ) ;
westPane . add ( cell1 , BorderLayout . WEST ) ;
westPane . add ( cell1 , BorderLayout . WEST ) ;
JPanel gridPane = new UINoOpaquePanel ( new GridLayout ( 5 , 1 ) ) ;
JPanel gridPane = new UINoOpaquePanel ( new GridLayout ( 5 , 1 ) ) ;
for ( int i = 0 ; i < COL_COUNT ; i + + ) {
for ( int r = 0 ; r < COL_COUNT ; r + + ) {
PreviewCell cell = new PreviewCell ( Toolkit . i18nText ( "Fine-Design_Basic_Predefined_Style_Header" ) ) ;
PreviewCell cell = new PreviewCell ( Toolkit . i18nText ( "Fine-Design_Basic_Predefined_Style_Header" ) ) ;
int flag = CellBorderSourceFlag . ALL_BORDER_SOURCE_OUTER ;
if ( r > 0 ) {
flag | = CellBorderSourceFlag . TOP_BORDER_SOURCE_INNER ;
}
if ( r < COL_COUNT - 1 ) {
flag | = CellBorderSourceFlag . BOTTOM_BORDER_SOURCE_INNER ;
}
cell . setBorderSourceFlag ( flag ) ;
cell . setPreferredSize ( new Dimension ( 113 , 31 ) ) ;
cell . setPreferredSize ( new Dimension ( 113 , 31 ) ) ;
headerCellList . add ( cell ) ;
headerCellList . add ( cell ) ;
gridPane . add ( cell ) ;
gridPane . add ( cell ) ;
@ -114,11 +130,36 @@ public class ECReportPreviewPane extends UINoOpaquePanel implements ThemePreview
centerPane . add ( innerCenterPane , BorderLayout . CENTER ) ;
centerPane . add ( innerCenterPane , BorderLayout . CENTER ) ;
for ( int i = 0 ; i < COL_COUNT * CONTENT_ROW_COUNT ; i + + ) {
for ( int i = 0 ; i < COL_COUNT * CONTENT_ROW_COUNT ; i + + ) {
PreviewCell cell ;
PreviewCell cell ;
if ( ( i + 1 ) % CONTENT_ROW_COUNT = = 0 ) {
int r = i / CONTENT_ROW_COUNT ;
int c = i % CONTENT_ROW_COUNT ;
if ( c = = CONTENT_ROW_COUNT - 1 ) {
cell = new PreviewCell ( Toolkit . i18nText ( "Fine-Design_Basic_Predefined_Style_Highlight_Text" ) ) ;
cell = new PreviewCell ( Toolkit . i18nText ( "Fine-Design_Basic_Predefined_Style_Highlight_Text" ) ) ;
int flag = CellBorderSourceFlag . ALL_BORDER_SOURCE_OUTER ;
if ( r ! = 0 ) {
flag | = CellBorderSourceFlag . TOP_BORDER_SOURCE_INNER ;
}
if ( r ! = COL_COUNT - 1 ) {
flag | = CellBorderSourceFlag . BOTTOM_BORDER_SOURCE_INNER ;
}
cell . setBorderSourceFlag ( flag ) ;
highLightCellList . add ( cell ) ;
highLightCellList . add ( cell ) ;
} else {
} else {
cell = new PreviewCell ( Toolkit . i18nText ( "Fine-Design_Basic_Predefined_Style_Main_Text" ) ) ;
cell = new PreviewCell ( Toolkit . i18nText ( "Fine-Design_Basic_Predefined_Style_Main_Text" ) ) ;
int flag = CellBorderSourceFlag . ALL_BORDER_SOURCE_OUTER ;
if ( r > 0 ) {
flag | = CellBorderSourceFlag . TOP_BORDER_SOURCE_INNER ;
}
if ( r < COL_COUNT - 1 ) {
flag | = CellBorderSourceFlag . BOTTOM_BORDER_SOURCE_INNER ;
}
if ( c > 0 ) {
flag | = CellBorderSourceFlag . LEFT_BORDER_SOURCE_INNER ;
}
if ( c < CONTENT_ROW_COUNT - 2 ) {
flag | = CellBorderSourceFlag . RIGHT_BORDER_SOURCE_INNER ;
}
cell . setBorderSourceFlag ( flag ) ;
contentCellList . add ( cell ) ;
contentCellList . add ( cell ) ;
}
}
cell . setPreferredSize ( new Dimension ( 123 , 31 ) ) ;
cell . setPreferredSize ( new Dimension ( 123 , 31 ) ) ;
@ -132,6 +173,7 @@ public class ECReportPreviewPane extends UINoOpaquePanel implements ThemePreview
private JPanel createSouthPane ( ) {
private JPanel createSouthPane ( ) {
JPanel southPane = FRGUIPaneFactory . createBorderLayout_NO_Opaque_Pane ( ) ;
JPanel southPane = FRGUIPaneFactory . createBorderLayout_NO_Opaque_Pane ( ) ;
PreviewCell assistCell = new PreviewCell ( Toolkit . i18nText ( "Fine-Design_Basic_Predefined_Style_Assist_Text" ) ) ;
PreviewCell assistCell = new PreviewCell ( Toolkit . i18nText ( "Fine-Design_Basic_Predefined_Style_Assist_Text" ) ) ;
assistCell . setBorderSourceFlag ( CellBorderSourceFlag . ALL_BORDER_SOURCE_OUTER ) ;
assistCell . setPreferredSize ( new Dimension ( 123 , 30 ) ) ;
assistCell . setPreferredSize ( new Dimension ( 123 , 30 ) ) ;
assistCellList . add ( assistCell ) ;
assistCellList . add ( assistCell ) ;
southPane . add ( assistCell , BorderLayout . CENTER ) ;
southPane . add ( assistCell , BorderLayout . CENTER ) ;
@ -141,12 +183,12 @@ public class ECReportPreviewPane extends UINoOpaquePanel implements ThemePreview
@Override
@Override
public void refresh ( TemplateTheme theme ) {
public void refresh ( TemplateTheme theme ) {
ThemedCellStyleList cellStyleConfig = theme . getCellStyleList ( ) ;
ThemedCellStyleList cellStyleConfig = theme . getCellStyleList ( ) ;
refresh ( headerTitleCellList , getReportBigTitleStyle ( cellStyleConfig ) ) ;
refresh ( headerTitleCellList , cellStyleConfig . getUse4BigTitle ( ) ) ;
refresh ( headerCellList , getReportHeaderStyle ( cellStyleConfig ) ) ;
refresh ( headerCellList , cellStyleConfig . getUse4Header ( ) ) ;
refresh ( contentCellList , getMainContentStyle ( cellStyleConfig ) ) ;
refresh ( contentCellList , cellStyleConfig . getUse4MainText ( ) ) ;
refresh ( titleCellList , getSmallTitleStyle ( cellStyleConfig ) ) ;
refresh ( titleCellList , cellStyleConfig . getUse4SmallTitle ( ) ) ;
refresh ( highLightCellList , getHighLightStyle ( cellStyleConfig ) ) ;
refresh ( highLightCellList , cellStyleConfig . getUse4HighlightText ( ) ) ;
refresh ( assistCellList , getAssistMsgStyle ( cellStyleConfig ) ) ;
refresh ( assistCellList , cellStyleConfig . getUse4SupportInfo ( ) ) ;
}
}
}
}
}
}