17 changed files with 775 additions and 32 deletions
@ -0,0 +1,86 @@ |
|||||||
|
apply plugin: "java" |
||||||
|
tasks.withType(JavaCompile){ |
||||||
|
options.encoding = "UTF-8" |
||||||
|
} |
||||||
|
|
||||||
|
def basicDir="../../" |
||||||
|
def libDir="${basicDir}/finereport-lib-stable" |
||||||
|
//获取什么分支名 |
||||||
|
FileTree files =fileTree(dir:"./",include:"build.*.gradle") |
||||||
|
def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf ("\\")) |
||||||
|
def branchName=buildDir.substring(buildDir.lastIndexOf ("\\")+1) |
||||||
|
|
||||||
|
task appletJar<<{ |
||||||
|
|
||||||
|
ant{ |
||||||
|
mkdir(dir:"${libDir}/tmp-${branchName}") |
||||||
|
mkdir(dir:"build/classes/") |
||||||
|
copy(todir:"build/classes/"){ |
||||||
|
fileset(dir:"${basicDir}/finereport-core-stable/${branchName}/build/classes/main") |
||||||
|
|
||||||
|
fileset(dir:"${basicDir}/finereport-chart-stable/${branchName}/build/classes/main") |
||||||
|
|
||||||
|
fileset(dir:"${basicDir}/finereport-report-stable/${branchName}/build/classes/main") |
||||||
|
|
||||||
|
fileset(dir:"${basicDir}/finereport-platform-stable/${branchName}/build/classes/main") |
||||||
|
|
||||||
|
fileset(dir:"${basicDir}/finereport-performance-stable/${branchName}/build/classes/main") |
||||||
|
|
||||||
|
} |
||||||
|
unjar(src:"${libDir}/${branchName}/3rd.jar",dest:"${libDir}/tmp-${branchName}") |
||||||
|
unjar(src:"${libDir}/${branchName}/servlet-api.jar",dest:"${libDir}/tmp-${branchName}") |
||||||
|
jar(jarfile:"build/libs/fr-applet-8.0.jar"){ |
||||||
|
fileset(dir:"build/classes"){ |
||||||
|
exclude(name:"*.*") |
||||||
|
exclude(name:"bin/*.*") |
||||||
|
exclude(name:"classes/**") |
||||||
|
exclude(name:"com/fr/schedule/**") |
||||||
|
exclude(name:"com/fr/cell/**") |
||||||
|
exclude(name:"com/fr/dialog/**") |
||||||
|
exclude(name:"com/fr/view/**") |
||||||
|
exclude(name:"com/fr/web/**") |
||||||
|
exclude(name:"com/fr/fs/**") |
||||||
|
exclude(name:"com/fr/design/**") |
||||||
|
exclude(name:"com/fr/start/**") |
||||||
|
exclude(name:"com/fr/process/**") |
||||||
|
} |
||||||
|
fileset(dir:"${libDir}/tmp-${branchName}"){ |
||||||
|
include(name:"javax/mail/**") |
||||||
|
include(name:"javax/servlet/**") |
||||||
|
include(name:"org/freehep/**") |
||||||
|
include(name:"com/fr/third/JAI/**") |
||||||
|
include(name:"com/fr/third/antlr/**") |
||||||
|
include(name:"com/fr/third/javax/**") |
||||||
|
include(name:"com/sun/xml/**") |
||||||
|
include(name:"javax/xml/**") |
||||||
|
|
||||||
|
} |
||||||
|
fileset(dir:"build/classes"){ |
||||||
|
include(name:"com/fr/web/*.class") |
||||||
|
include(name:"com/fr/web/attr/*.class") |
||||||
|
} |
||||||
|
} |
||||||
|
delete(dir:"${libDir}/tmp-${branchName}") |
||||||
|
def jdk6home= "D:/FineReport/develop/java/jdk1.6u35" |
||||||
|
def keystore="frapplet.store" |
||||||
|
def keycert="fr.cert" |
||||||
|
def keypassword="123456" |
||||||
|
def keyalias="fr" |
||||||
|
|
||||||
|
exec(executable:"${jdk6home}/bin/keytool"){ |
||||||
|
arg(line:"-genkey -dname "CN=FineReport L=NanJing C=China" -keystore ${keystore} -alias ${keyalias} -validity 3650 -storepass ${keypassword}") |
||||||
|
} |
||||||
|
exec(executable:"${jdk6home}/bin/keytool"){ |
||||||
|
arg(line:"-export -keystore ${keystore} -alias ${keyalias} -file ${keycert} -storepass ${keypassword}") |
||||||
|
} |
||||||
|
|
||||||
|
exec(executable:"${jdk6home}/bin/jarsigner"){ |
||||||
|
arg(line:"-keystore ${keystore} -storepass ${keypassword} 'build/libs/fr-applet-8.0.jar' ${keyalias}") |
||||||
|
} |
||||||
|
delete(file:"${keystore}") |
||||||
|
delete(file:"${keycert}") |
||||||
|
delete(dir:"build/classes") |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,85 @@ |
|||||||
|
apply plugin: "java" |
||||||
|
tasks.withType(JavaCompile){ |
||||||
|
options.encoding = "UTF-8" |
||||||
|
} |
||||||
|
def basicDir="../../" |
||||||
|
def libDir="${basicDir}/finereport-lib-stable/master" |
||||||
|
//获取什么分支名 |
||||||
|
FileTree files =fileTree(dir:"./",include:"build.*.gradle") |
||||||
|
def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf ("\\")) |
||||||
|
def branchName=buildDir.substring(buildDir.lastIndexOf ("\\")+1) |
||||||
|
|
||||||
|
task appletJar<<{ |
||||||
|
|
||||||
|
ant{ |
||||||
|
mkdir(dir:"${libDir}/tmp-${branchName}") |
||||||
|
mkdir(dir:"build/classes/") |
||||||
|
copy(todir:"build/classes/"){ |
||||||
|
fileset(dir:"${basicDir}/finereport-core-stable/${branchName}/build/classes/main") |
||||||
|
|
||||||
|
fileset(dir:"${basicDir}/finereport-chart-stable/${branchName}/build/classes/main") |
||||||
|
|
||||||
|
fileset(dir:"${basicDir}/finereport-report-stable/${branchName}/build/classes/main") |
||||||
|
|
||||||
|
fileset(dir:"${basicDir}/finereport-platform-stable/${branchName}/build/classes/main") |
||||||
|
|
||||||
|
fileset(dir:"${basicDir}/finereport-performance-stable/${branchName}/build/classes/main") |
||||||
|
|
||||||
|
} |
||||||
|
unjar(src:"${libDir}/3rd.jar",dest:"${libDir}/tmp-${branchName}") |
||||||
|
unjar(src:"${libDir}/servlet-api.jar",dest:"${libDir}/tmp-${branchName}") |
||||||
|
jar(jarfile:"build/libs/fr-applet-8.0.jar"){ |
||||||
|
fileset(dir:"build/classes"){ |
||||||
|
exclude(name:"*.*") |
||||||
|
exclude(name:"bin/*.*") |
||||||
|
exclude(name:"classes/**") |
||||||
|
exclude(name:"com/fr/schedule/**") |
||||||
|
exclude(name:"com/fr/cell/**") |
||||||
|
exclude(name:"com/fr/dialog/**") |
||||||
|
exclude(name:"com/fr/view/**") |
||||||
|
exclude(name:"com/fr/web/**") |
||||||
|
exclude(name:"com/fr/fs/**") |
||||||
|
exclude(name:"com/fr/design/**") |
||||||
|
exclude(name:"com/fr/start/**") |
||||||
|
exclude(name:"com/fr/process/**") |
||||||
|
} |
||||||
|
fileset(dir:"${libDir}/tmp-${branchName}"){ |
||||||
|
include(name:"javax/mail/**") |
||||||
|
include(name:"javax/servlet/**") |
||||||
|
include(name:"org/freehep/**") |
||||||
|
include(name:"com/fr/third/JAI/**") |
||||||
|
include(name:"com/fr/third/antlr/**") |
||||||
|
include(name:"com/fr/third/javax/**") |
||||||
|
include(name:"com/sun/xml/**") |
||||||
|
include(name:"javax/xml/**") |
||||||
|
|
||||||
|
} |
||||||
|
fileset(dir:"build/classes"){ |
||||||
|
include(name:"com/fr/web/*.class") |
||||||
|
include(name:"com/fr/web/attr/*.class") |
||||||
|
} |
||||||
|
} |
||||||
|
delete(dir:"${libDir}/tmp-${branchName}") |
||||||
|
def jdk6home= "D:/FineReport/develop/java/jdk1.6u35" |
||||||
|
def keystore="frapplet.store" |
||||||
|
def keycert="fr.cert" |
||||||
|
def keypassword="123456" |
||||||
|
def keyalias="fr" |
||||||
|
|
||||||
|
exec(executable:"${jdk6home}/bin/keytool"){ |
||||||
|
arg(line:"-genkey -dname "CN=FineReport L=NanJing C=China" -keystore ${keystore} -alias ${keyalias} -validity 3650 -storepass ${keypassword}") |
||||||
|
} |
||||||
|
exec(executable:"${jdk6home}/bin/keytool"){ |
||||||
|
arg(line:"-export -keystore ${keystore} -alias ${keyalias} -file ${keycert} -storepass ${keypassword}") |
||||||
|
} |
||||||
|
|
||||||
|
exec(executable:"${jdk6home}/bin/jarsigner"){ |
||||||
|
arg(line:"-keystore ${keystore} -storepass ${keypassword} 'build/libs/fr-applet-8.0.jar' ${keyalias}") |
||||||
|
} |
||||||
|
delete(file:"${keystore}") |
||||||
|
delete(file:"${keycert}") |
||||||
|
delete(dir:"build/classes") |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,70 @@ |
|||||||
|
package com.fr.design.report.mobile; |
||||||
|
|
||||||
|
import com.fr.design.beans.BasicBeanPane; |
||||||
|
import com.fr.design.dialog.mobile.MobileRadioCheckPane; |
||||||
|
import com.fr.design.gui.ilable.UILabel; |
||||||
|
import com.fr.design.layout.FRGUIPaneFactory; |
||||||
|
import com.fr.general.Inter; |
||||||
|
import com.fr.report.mobile.ElementCaseMobileAttr; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import java.awt.*; |
||||||
|
|
||||||
|
/** |
||||||
|
* Created by 方磊 on 2016/11/8. |
||||||
|
*/ |
||||||
|
public class MobileToolBarPane extends BasicBeanPane<ElementCaseMobileAttr> { |
||||||
|
//缩放选项面板
|
||||||
|
private MobileRadioCheckPane zoomCheckPane; |
||||||
|
|
||||||
|
//刷新选项面板
|
||||||
|
private MobileRadioCheckPane refreshCheckPane; |
||||||
|
|
||||||
|
public MobileToolBarPane() { |
||||||
|
this.initComponents(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initComponents() { |
||||||
|
this.setLayout(FRGUIPaneFactory.createBorderLayout()); |
||||||
|
JPanel borderPane = FRGUIPaneFactory.createTitledBorderPane(this.title4PopupWindow()); |
||||||
|
JPanel toobarsPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); |
||||||
|
|
||||||
|
UILabel uiLabel = new UILabel("html5"); |
||||||
|
uiLabel.setBorder(BorderFactory.createEmptyBorder(5, 15, 10, 15)); |
||||||
|
zoomCheckPane = new MobileRadioCheckPane(Inter.getLocText("FR-Designer_Mobile-Zoom")); |
||||||
|
refreshCheckPane = new MobileRadioCheckPane(Inter.getLocText("FR-Designer_Mobile-Refresh")); |
||||||
|
|
||||||
|
toobarsPane.add(uiLabel, BorderLayout.WEST); |
||||||
|
toobarsPane.add(zoomCheckPane, BorderLayout.CENTER); |
||||||
|
toobarsPane.add(refreshCheckPane, BorderLayout.EAST); |
||||||
|
borderPane.add(toobarsPane); |
||||||
|
this.add(borderPane); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populateBean(ElementCaseMobileAttr ob) { |
||||||
|
if (ob == null) { |
||||||
|
ob = new ElementCaseMobileAttr(); |
||||||
|
} |
||||||
|
this.zoomCheckPane.populateBean(ob.isZoom()); |
||||||
|
this.refreshCheckPane.populateBean(ob.isRefresh()); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public ElementCaseMobileAttr updateBean() { |
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void updateBean(ElementCaseMobileAttr mobileAttr) { |
||||||
|
if(mobileAttr != null) { |
||||||
|
mobileAttr.setZoom(this.zoomCheckPane.updateBean()); |
||||||
|
mobileAttr.setRefresh(this.refreshCheckPane.updateBean()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String title4PopupWindow() { |
||||||
|
return Inter.getLocText("FR-Designer_Mobile-Toolbar"); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,70 @@ |
|||||||
|
|
||||||
|
apply plugin: 'java' |
||||||
|
tasks.withType(JavaCompile){ |
||||||
|
options.encoding = 'UTF-8' |
||||||
|
} |
||||||
|
//指定构建的jdk版本 |
||||||
|
sourceCompatibility=1.8 |
||||||
|
//指定生成jar包版本 |
||||||
|
version='8.0' |
||||||
|
//生成jar包重命名 |
||||||
|
jar{ |
||||||
|
baseName='fr-designer-core' |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
def srcDir="." |
||||||
|
|
||||||
|
//指定源码路径 |
||||||
|
sourceSets{ |
||||||
|
main{ |
||||||
|
java{ |
||||||
|
srcDirs=["${srcDir}/src"] |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
//获取什么分支名 |
||||||
|
FileTree files =fileTree(dir:'./',include:'build.*.gradle') |
||||||
|
def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf ('\\')) |
||||||
|
buildDir=buildDir.substring(0,buildDir.lastIndexOf ('\\')) |
||||||
|
def branchName=buildDir.substring(buildDir.lastIndexOf ('\\')+1) |
||||||
|
|
||||||
|
//声明外部依赖 |
||||||
|
dependencies{ |
||||||
|
|
||||||
|
compile fileTree(dir:'../../../finereport-lib-stable/master',include:'**/*.jar') |
||||||
|
compile fileTree(dir:'../../../',include:"finereport-*-stable/${branchName}/**/build/libs/*.jar") |
||||||
|
|
||||||
|
testCompile 'junit:junit:4.12' |
||||||
|
} |
||||||
|
//复制非.java文件到classes文件夹下参与打包 |
||||||
|
task copyFile(type:Copy,dependsOn:compileJava){ |
||||||
|
copy{ |
||||||
|
from ("${srcDir}/src"){ |
||||||
|
exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' |
||||||
|
} |
||||||
|
into 'build/classes/main' |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
//压缩项目中的js文件 |
||||||
|
task compressJS{ |
||||||
|
ant.taskdef(name:'yuicompress',classname:'com.yahoo.platform.yui.compressor.YUICompressTask'){ |
||||||
|
classpath { |
||||||
|
fileset(dir:'../../../finereport-lib4build-stable',includes:'**/*.jar') |
||||||
|
} |
||||||
|
} |
||||||
|
ant.yuicompress(linebreak:"500",warn:"false", munge:"yes",preserveallsemicolons:"false",charset:"utf-8",encoding:"utf-8",outputfolder:'build/classes/main'){ |
||||||
|
fileset (dir:"${srcDir}/src"){ |
||||||
|
include (name:'**/*.js') |
||||||
|
include (name:'**/*.css') |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
jar.dependsOn compressJS |
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,66 @@ |
|||||||
|
|
||||||
|
apply plugin: 'java' |
||||||
|
tasks.withType(JavaCompile){ |
||||||
|
options.encoding = 'UTF-8' |
||||||
|
} |
||||||
|
//指定构建的jdk版本 |
||||||
|
sourceCompatibility=1.8 |
||||||
|
//指定生成jar包的版本 |
||||||
|
version='8.0' |
||||||
|
|
||||||
|
def srcDir="." |
||||||
|
|
||||||
|
//对生成的jar包进行重命名 |
||||||
|
|
||||||
|
jar{ |
||||||
|
baseName='fr-designer-chart' |
||||||
|
} |
||||||
|
|
||||||
|
sourceSets{ |
||||||
|
main{ |
||||||
|
java{ |
||||||
|
srcDirs=["${srcDir}/src"] |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
FileTree files =fileTree(dir:'./',include:'build.*.gradle') |
||||||
|
def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf ('\\')) |
||||||
|
buildDir=buildDir.substring(0,buildDir.lastIndexOf ('\\')) |
||||||
|
def branchName=buildDir.substring(buildDir.lastIndexOf ('\\')+1) |
||||||
|
|
||||||
|
//指定外部依赖 |
||||||
|
dependencies{ |
||||||
|
compile fileTree(dir:'../../../finereport-lib-stable/master',include:'**/*.jar') |
||||||
|
compile fileTree(dir:'../../../',include:"finereport-*-stable/${branchName}/**/build/libs/*.jar") |
||||||
|
|
||||||
|
testCompile 'junit:junit:4.12' |
||||||
|
} |
||||||
|
//将非.java 文件复制到classes文件夹下参与打包 |
||||||
|
task copyFile(type:Copy,dependsOn:compileJava){ |
||||||
|
copy{ |
||||||
|
from ("${srcDir}/src"){ |
||||||
|
exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' |
||||||
|
|
||||||
|
} |
||||||
|
into 'build/classes/main' |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
//压缩项目中的js文件 |
||||||
|
task compressJS{ |
||||||
|
ant.taskdef(name:'yuicompress',classname:'com.yahoo.platform.yui.compressor.YUICompressTask'){ |
||||||
|
classpath { |
||||||
|
fileset(dir:'../../../finereport-lib4build-stable',includes:'**/*.jar') |
||||||
|
} |
||||||
|
} |
||||||
|
ant.yuicompress(linebreak:"500",warn:"false", munge:"yes",preserveallsemicolons:"false",charset:"utf-8",encoding:"utf-8",outputfolder:'build/classes/main'){ |
||||||
|
fileset (dir:"${srcDir}/src"){ |
||||||
|
include (name:'**/*.js') |
||||||
|
include (name:'**/*.css') |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
jar.dependsOn compressJS |
||||||
|
|
@ -0,0 +1,83 @@ |
|||||||
|
|
||||||
|
apply plugin: 'java' |
||||||
|
tasks.withType(JavaCompile){ |
||||||
|
options.encoding = 'UTF-8' |
||||||
|
} |
||||||
|
//指定构建的jdk版本 |
||||||
|
sourceCompatibility=1.7 |
||||||
|
//指定生成的jar包版本 |
||||||
|
version='8.0' |
||||||
|
|
||||||
|
def srcDir="." |
||||||
|
|
||||||
|
|
||||||
|
//指明生成jar包的名字 |
||||||
|
jar{ |
||||||
|
baseName='fr-designer-report' |
||||||
|
} |
||||||
|
//源码所在位置 |
||||||
|
sourceSets{ |
||||||
|
main{ |
||||||
|
java{ |
||||||
|
srcDirs=["${srcDir}/src", |
||||||
|
"${srcDir}/../designer/src"] |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
//获取什么分支名 |
||||||
|
FileTree files =fileTree(dir:'./',include:'build.*.gradle') |
||||||
|
def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf ('\\')) |
||||||
|
buildDir=buildDir.substring(0,buildDir.lastIndexOf ('\\')) |
||||||
|
def branchName=buildDir.substring(buildDir.lastIndexOf ('\\')+1) |
||||||
|
|
||||||
|
//声明外部依赖 |
||||||
|
dependencies{ |
||||||
|
compile fileTree(dir:"../../../finereport-lib-stable/${branchName}",include:'**/*.jar') |
||||||
|
compile fileTree(dir:'../../../',include:"finereport-*-stable/${branchName}/**/build/libs/*.jar") |
||||||
|
|
||||||
|
testCompile 'junit:junit:4.12' |
||||||
|
} |
||||||
|
|
||||||
|
//指明无法编译文件所在路径 |
||||||
|
def dataContent ={def dir -> |
||||||
|
copySpec{ |
||||||
|
from ("${dir}"){ |
||||||
|
exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
//将非.java文件复制到classes文件夹下 参与打包 |
||||||
|
task copyFile(type:Copy,dependsOn:compileJava){ |
||||||
|
copy{ |
||||||
|
with dataContent.call("${srcDir}/src") |
||||||
|
with dataContent.call("${srcDir}/../designer/src") |
||||||
|
into ('build/classes/main') |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
//压缩项目中的js文件 |
||||||
|
task compressJS{ |
||||||
|
ant.taskdef(name:'yuicompress',classname:'com.yahoo.platform.yui.compressor.YUICompressTask'){ |
||||||
|
classpath { |
||||||
|
fileset(dir:'../../../finereport-lib4build-stable',includes:'**/*.jar') |
||||||
|
} |
||||||
|
} |
||||||
|
ant.yuicompress(linebreak:"500",warn:"false", munge:"yes",preserveallsemicolons:"false", charset:"utf-8",encoding:"utf-8",outputfolder:'build/classes/main'){ |
||||||
|
fileset (dir:"${srcDir}/src"){ |
||||||
|
include (name:'**/*.js') |
||||||
|
include (name:'**/*.css') |
||||||
|
|
||||||
|
} |
||||||
|
fileset (dir:"${srcDir}/../designer/src"){ |
||||||
|
include (name:'**/*.js') |
||||||
|
include (name:'**/*.css') |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
jar.dependsOn compressJS |
||||||
|
|
@ -0,0 +1,83 @@ |
|||||||
|
|
||||||
|
apply plugin: 'java' |
||||||
|
tasks.withType(JavaCompile){ |
||||||
|
options.encoding = 'UTF-8' |
||||||
|
} |
||||||
|
//指定构建的jdk版本 |
||||||
|
sourceCompatibility=1.8 |
||||||
|
//指定生成的jar包版本 |
||||||
|
version='8.0' |
||||||
|
|
||||||
|
def srcDir="." |
||||||
|
|
||||||
|
|
||||||
|
//指明生成jar包的名字 |
||||||
|
jar{ |
||||||
|
baseName='fr-designer-report' |
||||||
|
} |
||||||
|
//源码所在位置 |
||||||
|
sourceSets{ |
||||||
|
main{ |
||||||
|
java{ |
||||||
|
srcDirs=["${srcDir}/src", |
||||||
|
"${srcDir}/../designer/src"] |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
//获取什么分支名 |
||||||
|
FileTree files =fileTree(dir:'./',include:'build.*.gradle') |
||||||
|
def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf ('\\')) |
||||||
|
buildDir=buildDir.substring(0,buildDir.lastIndexOf ('\\')) |
||||||
|
def branchName=buildDir.substring(buildDir.lastIndexOf ('\\')+1) |
||||||
|
//声明外部依赖 |
||||||
|
dependencies{ |
||||||
|
compile fileTree(dir:'../../../finereport-lib-stable/master',include:'**/*.jar') |
||||||
|
compile fileTree(dir:'../../../',include:"finereport-*-stable/${branchName}/**/build/libs/*.jar") |
||||||
|
|
||||||
|
testCompile 'junit:junit:4.12' |
||||||
|
} |
||||||
|
|
||||||
|
//指明无法编译文件所在路径 |
||||||
|
def dataContent ={def dir -> |
||||||
|
copySpec{ |
||||||
|
from ("${dir}"){ |
||||||
|
exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
//将非.java文件复制到classes文件夹下 参与打包 |
||||||
|
task copyFile(type:Copy,dependsOn:compileJava){ |
||||||
|
copy{ |
||||||
|
with dataContent.call("${srcDir}/src") |
||||||
|
with dataContent.call("${srcDir}/../designer/src") |
||||||
|
into ('build/classes/main') |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
//压缩项目中的js文件 |
||||||
|
task compressJS{ |
||||||
|
ant.taskdef(name:'yuicompress',classname:'com.yahoo.platform.yui.compressor.YUICompressTask'){ |
||||||
|
classpath { |
||||||
|
|
||||||
|
fileset(dir:'../../../finereport-lib4build-stable',includes:'**/*.jar') |
||||||
|
} |
||||||
|
} |
||||||
|
ant.yuicompress(linebreak:"500",warn:"false", munge:"yes",preserveallsemicolons:"false", charset:"utf-8",encoding:"utf-8",outputfolder:'build/classes/main'){ |
||||||
|
fileset (dir:"${srcDir}/src"){ |
||||||
|
include (name:'**/*.js') |
||||||
|
include (name:'**/*.css') |
||||||
|
|
||||||
|
} |
||||||
|
fileset (dir:"${srcDir}/../designer/src"){ |
||||||
|
include (name:'**/*.js') |
||||||
|
include (name:'**/*.css') |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
jar.dependsOn compressJS |
||||||
|
|
@ -0,0 +1,55 @@ |
|||||||
|
package com.fr.design.form.mobile; |
||||||
|
|
||||||
|
import com.fr.design.beans.BasicBeanPane; |
||||||
|
import com.fr.design.layout.FRGUIPaneFactory; |
||||||
|
import com.fr.form.main.mobile.FormMobileAttr; |
||||||
|
import com.fr.general.Inter; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import java.awt.*; |
||||||
|
|
||||||
|
/** |
||||||
|
* Created by fanglei on 2016/11/17. |
||||||
|
*/ |
||||||
|
public class FormMobileAttrPane extends BasicBeanPane<FormMobileAttr>{ |
||||||
|
//工具栏容器
|
||||||
|
private MobileToolBarPane mobileToolBarPane; |
||||||
|
|
||||||
|
static final int paddingHeight = 10; |
||||||
|
|
||||||
|
public FormMobileAttrPane() { |
||||||
|
this.initComponents(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initComponents() { |
||||||
|
JPanel jPanel = new JPanel(); |
||||||
|
this.setLayout(FRGUIPaneFactory.createBorderLayout()); |
||||||
|
this.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); |
||||||
|
jPanel.setLayout(FRGUIPaneFactory.createBorderLayout()); |
||||||
|
this.mobileToolBarPane = new MobileToolBarPane(); |
||||||
|
//设置一个JPanel包裹mobileToolBarPane这个Panel,让jPanel的高度等于mobileToolBarPane高度加10,再放入this中
|
||||||
|
jPanel.setPreferredSize(new Dimension(0, (int)this.mobileToolBarPane.getPreferredSize().getHeight() + paddingHeight)); |
||||||
|
jPanel.add("North", mobileToolBarPane); |
||||||
|
this.add(jPanel); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populateBean(FormMobileAttr ob) { |
||||||
|
if (ob == null) { |
||||||
|
ob = new FormMobileAttr(); |
||||||
|
} |
||||||
|
this.mobileToolBarPane.populateBean(ob); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public FormMobileAttr updateBean() { |
||||||
|
FormMobileAttr caseMobileAttr = new FormMobileAttr(); |
||||||
|
this.mobileToolBarPane.updateBean(caseMobileAttr); |
||||||
|
return caseMobileAttr; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String title4PopupWindow() { |
||||||
|
return Inter.getLocText("FR-Designer_Mobile-Attr"); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,64 @@ |
|||||||
|
package com.fr.design.form.mobile; |
||||||
|
|
||||||
|
import com.fr.design.beans.BasicBeanPane; |
||||||
|
import com.fr.design.dialog.mobile.MobileRadioCheckPane; |
||||||
|
import com.fr.design.gui.ilable.UILabel; |
||||||
|
import com.fr.design.layout.FRGUIPaneFactory; |
||||||
|
import com.fr.form.main.mobile.FormMobileAttr; |
||||||
|
import com.fr.general.Inter; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import java.awt.*; |
||||||
|
|
||||||
|
/** |
||||||
|
* Created by 方磊 on 2016/11/8. |
||||||
|
*/ |
||||||
|
public class MobileToolBarPane extends BasicBeanPane<FormMobileAttr> { |
||||||
|
//刷新选项面板
|
||||||
|
private MobileRadioCheckPane refreshCheckPane; |
||||||
|
|
||||||
|
public MobileToolBarPane() { |
||||||
|
this.initComponents(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initComponents() { |
||||||
|
this.setLayout(FRGUIPaneFactory.createBorderLayout()); |
||||||
|
JPanel borderPane = FRGUIPaneFactory.createTitledBorderPane(this.title4PopupWindow()); |
||||||
|
JPanel toobarsPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); |
||||||
|
|
||||||
|
UILabel uiLabel = new UILabel("html5"); |
||||||
|
uiLabel.setBorder(BorderFactory.createEmptyBorder(5, 15, 10, 15)); |
||||||
|
this.refreshCheckPane = new MobileRadioCheckPane(Inter.getLocText("FR-Designer_Mobile-Refresh")); |
||||||
|
|
||||||
|
toobarsPane.add(uiLabel, BorderLayout.WEST); |
||||||
|
toobarsPane.add(refreshCheckPane, BorderLayout.EAST); |
||||||
|
borderPane.add(toobarsPane); |
||||||
|
this.add(borderPane); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populateBean(FormMobileAttr ob) { |
||||||
|
if (ob == null) { |
||||||
|
ob = new FormMobileAttr(); |
||||||
|
} |
||||||
|
this.refreshCheckPane.populateBean(ob.isRefresh()); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public FormMobileAttr updateBean() { |
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void updateBean(FormMobileAttr mobileAttr) { |
||||||
|
if(mobileAttr != null) { |
||||||
|
mobileAttr.setRefresh(this.refreshCheckPane.updateBean()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String title4PopupWindow() { |
||||||
|
return Inter.getLocText("FR-Designer_Mobile-Toolbar"); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,73 @@ |
|||||||
|
package com.fr.design.mainframe.actions; |
||||||
|
|
||||||
|
import com.fr.base.BaseUtils; |
||||||
|
import com.fr.design.actions.JTemplateAction; |
||||||
|
import com.fr.design.dialog.BasicDialog; |
||||||
|
import com.fr.design.dialog.DialogActionAdapter; |
||||||
|
import com.fr.design.form.mobile.FormMobileAttrPane; |
||||||
|
import com.fr.design.mainframe.DesignerContext; |
||||||
|
import com.fr.design.mainframe.JForm; |
||||||
|
import com.fr.design.menu.MenuKeySet; |
||||||
|
import com.fr.form.main.Form; |
||||||
|
import com.fr.form.main.mobile.FormMobileAttr; |
||||||
|
import com.fr.general.Inter; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import java.awt.event.ActionEvent; |
||||||
|
|
||||||
|
/** |
||||||
|
* Created by fanglei on 2016/11/14. |
||||||
|
*/ |
||||||
|
public class FormMobileAttrAction extends JTemplateAction<JForm> { |
||||||
|
|
||||||
|
public FormMobileAttrAction(JForm jf) { |
||||||
|
super(jf); |
||||||
|
this.setMenuKeySet(REPORT_APP_ATTR); |
||||||
|
this.setName(getMenuKeySet().getMenuKeySetName() + "..."); |
||||||
|
this.setMnemonic(getMenuKeySet().getMnemonic()); |
||||||
|
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_report/mobile.png")); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 执行动作 |
||||||
|
* |
||||||
|
* @return 是否执行成功 |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public void actionPerformed(ActionEvent e) { |
||||||
|
final JForm jf = getEditingComponent(); |
||||||
|
if (jf == null) { |
||||||
|
return; |
||||||
|
} |
||||||
|
final Form formTpl = jf.getTarget(); |
||||||
|
FormMobileAttr mobileAttr = formTpl.getReportMobileAttr(); |
||||||
|
|
||||||
|
final FormMobileAttrPane mobileAttrPane = new FormMobileAttrPane(); |
||||||
|
mobileAttrPane.populateBean(mobileAttr); |
||||||
|
BasicDialog dialog = mobileAttrPane.showWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { |
||||||
|
@Override |
||||||
|
public void doOk() { |
||||||
|
formTpl.setReportMobileAttr(mobileAttrPane.updateBean()); |
||||||
|
jf.fireTargetModified(); |
||||||
|
} |
||||||
|
}); |
||||||
|
dialog.setVisible(true); |
||||||
|
} |
||||||
|
|
||||||
|
private static final MenuKeySet REPORT_APP_ATTR = new MenuKeySet() { |
||||||
|
@Override |
||||||
|
public char getMnemonic() { |
||||||
|
return 'T'; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String getMenuName() { |
||||||
|
return Inter.getLocText("FR-Designer_Mobile-Attr"); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public KeyStroke getKeyStroke() { |
||||||
|
return null; |
||||||
|
} |
||||||
|
}; |
||||||
|
} |
Loading…
Reference in new issue