@ -4,15 +4,7 @@ import com.fr.base.theme.TemplateTheme;
import com.fr.design.gui.ibutton.UIButton ;
import com.fr.design.gui.ibutton.UIButton ;
import com.fr.design.i18n.Toolkit ;
import com.fr.design.i18n.Toolkit ;
import com.fr.design.layout.FRGUIPaneFactory ;
import com.fr.design.layout.FRGUIPaneFactory ;
import com.fr.design.mainframe.DesignerContext ;
import com.fr.design.mainframe.theme.TemplateThemeProfilePane ;
import com.fr.design.mainframe.theme.TemplateThemeProfilePane ;
import com.fr.file.FILE ;
import com.fr.file.FILEChooserPane ;
import com.fr.file.FileFILE ;
import com.fr.file.filter.ChooseFileFilter ;
import com.fr.log.FineLoggerFactory ;
import com.fr.stable.ListSet ;
import com.fr.stable.xml.XMLPrintWriter ;
import javax.swing.JPanel ;
import javax.swing.JPanel ;
import java.awt.BorderLayout ;
import java.awt.BorderLayout ;
@ -21,10 +13,6 @@ import java.awt.Dimension;
import java.awt.Window ;
import java.awt.Window ;
import java.awt.event.ActionEvent ;
import java.awt.event.ActionEvent ;
import java.awt.event.ActionListener ;
import java.awt.event.ActionListener ;
import java.io.BufferedOutputStream ;
import java.io.File ;
import java.io.FileOutputStream ;
import java.io.IOException ;
import java.util.List ;
import java.util.List ;
/ * *
/ * *
@ -47,9 +35,6 @@ public class TemplateThemeProfileDialog<T extends TemplateTheme> extends Templat
content . add ( profilePane , BorderLayout . CENTER ) ;
content . add ( profilePane , BorderLayout . CENTER ) ;
setContentPane ( createDialogContentPane ( content , new UIButton [ ] {
setContentPane ( createDialogContentPane ( content , new UIButton [ ] {
// 用于视觉设计师导出内置主题文件,发布前关闭
// 后续由产品经理决定是否开启此功能
createExportButton ( profilePane ) ,
profilePane . createSaveButton ( ) ,
profilePane . createSaveButton ( ) ,
profilePane . createSaveAsButton ( this ) ,
profilePane . createSaveAsButton ( this ) ,
createCancelButton ( )
createCancelButton ( )
@ -58,63 +43,6 @@ public class TemplateThemeProfileDialog<T extends TemplateTheme> extends Templat
currentVisibleProfilePane = profilePane ;
currentVisibleProfilePane = profilePane ;
}
}
private void exportTheme ( T theme ) {
FILEChooserPane fileChooser = FILEChooserPane . getInstance ( true , true , new ChooseFileFilter ( ) {
@Override
public boolean accept ( FILE f ) {
return f . isDirectory ( ) ;
}
@Override
public String getDescription ( ) {
return "export theme to xml" ;
}
@Override
public boolean containsExtension ( String extension ) {
return true ;
}
@Override
public String toString ( ) {
return getDescription ( ) ;
}
} ) ;
fileChooser . setCurrentDirectory ( new FileFILE ( new File ( "~/" ) ) ) ;
fileChooser . setFileNameTextField ( theme . getName ( ) , ".xml" ) ;
FILE exportedFile = null ;
int result = fileChooser . showSaveDialog ( DesignerContext . getDesignerFrame ( ) , ".xml" ) ;
if ( result = = FILEChooserPane . JOPTIONPANE_OK_OPTION | | result = = FILEChooserPane . OK_OPTION ) {
exportedFile = fileChooser . getSelectedFILE ( ) ;
}
if ( exportedFile = = null ) {
return ;
}
try ( BufferedOutputStream bos = new BufferedOutputStream ( new FileOutputStream ( exportedFile . getPath ( ) ) ) ) {
XMLPrintWriter writer = XMLPrintWriter . create ( bos ) ;
theme . writeXML ( writer ) ;
writer . flush ( ) ;
writer . close ( ) ;
} catch ( IOException e ) {
FineLoggerFactory . getLogger ( ) . error ( e . getMessage ( ) , e ) ;
}
}
public UIButton createExportButton ( TemplateThemeProfilePane < T > profilePane ) {
UIButton exportButton = new UIButton ( ) ;
exportButton . setText ( Toolkit . i18nText ( "Fine-Design_Basic_Export" ) ) ;
exportButton . addActionListener ( new ActionListener ( ) {
@Override
public void actionPerformed ( ActionEvent e ) {
T theme = profilePane . updateBean ( ) ;
theme . getImageIdList ( ) . setIdList ( new ListSet < > ( ) ) ;
exportTheme ( theme ) ;
}
} ) ;
return exportButton ;
}
private UIButton createCancelButton ( ) {
private UIButton createCancelButton ( ) {
UIButton button = new UIButton ( Toolkit . i18nText ( "Fine-Design_Basic_Cancel" ) ) ;
UIButton button = new UIButton ( Toolkit . i18nText ( "Fine-Design_Basic_Cancel" ) ) ;
button . addActionListener ( new ActionListener ( ) {
button . addActionListener ( new ActionListener ( ) {