Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8301121: RichTextArea Control (Incubator) #1524

Open
wants to merge 63 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
f3b02a2
8301121: RichTextArea Control (Incubator)
andy-goryachev-oracle Jul 30, 2024
4c472b7
whitespace
andy-goryachev-oracle Jul 30, 2024
70481ee
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Aug 14, 2024
1cc7743
update + review comments
andy-goryachev-oracle Aug 14, 2024
3e55db8
whitespace
andy-goryachev-oracle Aug 14, 2024
a4d7d70
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Aug 20, 2024
780a385
navigation
andy-goryachev-oracle Aug 20, 2024
09a1637
cleanup
andy-goryachev-oracle Aug 20, 2024
c2d449f
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Aug 29, 2024
e035c16
improved vertical scrolling
andy-goryachev-oracle Aug 29, 2024
d813338
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Sep 5, 2024
bc1615c
fixes and review comments
andy-goryachev-oracle Sep 5, 2024
abb4e8d
bsd license for sample code
andy-goryachev-oracle Sep 6, 2024
1d511bf
moved to apps, review comments
andy-goryachev-oracle Sep 9, 2024
9a98453
removed duplicate files
andy-goryachev-oracle Sep 10, 2024
b68b375
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Sep 13, 2024
1aafab2
hide impl. detail
andy-goryachev-oracle Sep 13, 2024
6e66a0d
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Sep 17, 2024
0fdd998
fixed directories
andy-goryachev-oracle Sep 17, 2024
ce1b695
review comments
andy-goryachev-oracle Sep 17, 2024
42f84f5
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Sep 24, 2024
198206f
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Sep 27, 2024
b22f476
file operations
andy-goryachev-oracle Sep 30, 2024
4cd177f
review comments
andy-goryachev-oracle Oct 1, 2024
4abd8c4
whitespace
andy-goryachev-oracle Oct 1, 2024
aaa361c
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Oct 1, 2024
de3947b
error feedback
andy-goryachev-oracle Oct 1, 2024
5482813
ensure cell is in the arrangement
andy-goryachev-oracle Oct 4, 2024
186db01
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Oct 4, 2024
b8b5efe
review comments
andy-goryachev-oracle Oct 4, 2024
c0815f0
with styles
andy-goryachev-oracle Oct 4, 2024
1c6c1a5
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Oct 4, 2024
845ead7
whitespace
andy-goryachev-oracle Oct 4, 2024
9a8bd55
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Oct 11, 2024
3d0c13f
line numbers, highlight paragraph menus
andy-goryachev-oracle Oct 11, 2024
212d2b4
ask to save on closing window
andy-goryachev-oracle Oct 11, 2024
9325789
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Oct 16, 2024
e00399b
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Oct 18, 2024
b103e5e
consume conditionally
andy-goryachev-oracle Oct 21, 2024
eae50cc
break iterator
andy-goryachev-oracle Oct 21, 2024
faabd11
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Oct 28, 2024
905c66b
review comments 1
andy-goryachev-oracle Oct 29, 2024
968989a
measurement node
andy-goryachev-oracle Oct 29, 2024
d92c428
review comments
andy-goryachev-oracle Oct 30, 2024
29ae5ff
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Oct 31, 2024
fa25011
javadoc
andy-goryachev-oracle Oct 31, 2024
6f0755f
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Nov 1, 2024
48086f7
validate model
andy-goryachev-oracle Nov 1, 2024
189c663
input map
andy-goryachev-oracle Nov 1, 2024
3946307
review comments
andy-goryachev-oracle Nov 1, 2024
728ca11
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Nov 5, 2024
a51ae15
readme
andy-goryachev-oracle Nov 5, 2024
78e5d97
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Nov 6, 2024
7e142dd
review comments
andy-goryachev-oracle Nov 7, 2024
05f533d
comment
andy-goryachev-oracle Nov 7, 2024
8a52cf7
settings
andy-goryachev-oracle Nov 13, 2024
b387615
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Nov 13, 2024
7585ae3
use focus traversal api
andy-goryachev-oracle Nov 13, 2024
5e2a68f
removed add handler last
andy-goryachev-oracle Nov 13, 2024
ff3f5af
removed function handler
andy-goryachev-oracle Nov 14, 2024
6a02a75
save as
andy-goryachev-oracle Nov 15, 2024
bf41505
Merge remote-tracking branch 'origin/master' into 8301121.RichTextArea
andy-goryachev-oracle Nov 15, 2024
52a7dba
whitespace
andy-goryachev-oracle Nov 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
221 changes: 209 additions & 12 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2795,6 +2795,181 @@ project(":controls") {
addValidateSourceSets(project, sourceSets)
}

project(":incubator.input") {
project.ext.buildModule = true
project.ext.includeSources = true
project.ext.moduleRuntime = true
project.ext.moduleName = "jfx.incubator.input"
project.ext.incubating = true

sourceSets {
main
shims {
java {
compileClasspath += sourceSets.main.output
runtimeClasspath += sourceSets.main.output
}
}
test {
java {
compileClasspath += sourceSets.shims.output
runtimeClasspath += sourceSets.shims.output
}
}
}

project.ext.moduleSourcePath = defaultModuleSourcePath
project.ext.moduleSourcePathShim = defaultModuleSourcePathShim

commonModuleSetup(project, [
'base',
'graphics',
'controls',
'incubator.input'
])

dependencies {
testImplementation project(":base").sourceSets.test.output
testImplementation project(":graphics").sourceSets.test.output
testImplementation project(":controls").sourceSets.test.output
implementation project(':base')
implementation project(':graphics')
implementation project(':controls')
}

test {
jvmArgs "-Djavafx.toolkit=test.com.sun.javafx.pgstub.StubToolkit"
}

def modulePath = "${project.sourceSets.main.java.getDestinationDirectory().get().getAsFile()}"
modulePath += File.pathSeparator + "${rootProject.projectDir}/modules/javafx.controls/build/classes/java/main"
modulePath += File.pathSeparator + "${rootProject.projectDir}/modules/javafx.graphics/build/classes/java/main"
modulePath += File.pathSeparator + "${rootProject.projectDir}/modules/javafx.base/build/classes/java/main"

// FIXME: KCR
// processResources {
// doLast {
// def cssFiles = fileTree(dir: "$moduleDir/com/sun/javafx/scene/control/skin")
// cssFiles.include "**/*.css"
// cssFiles.each { css ->
// logger.info("converting CSS to BSS ${css}");
//
// javaexec {
// executable = JAVA
// workingDir = project.projectDir
// jvmArgs += patchModuleArgs
// jvmArgs += "--module-path=$modulePath"
// jvmArgs += "--add-modules=javafx.graphics"
// mainClass = "com.sun.javafx.css.parser.Css2Bin"
// args css
// }
// }
// }
// }
//
// def copyShimBssTask = project.task("copyShimBss", type: Copy,
// dependsOn: [project.tasks.getByName("compileJava"),
// project.tasks.getByName("processResources")]) {
// from project.moduleDir
// into project.moduleShimsDir
// include "**/*.bss"
// }
// processShimsResources.dependsOn(copyShimBssTask)

addMavenPublication(project, [ 'graphics' , 'controls'])

addValidateSourceSets(project, sourceSets)
}

project(":incubator.richtext") {
project.ext.buildModule = true
project.ext.includeSources = true
project.ext.moduleRuntime = true
project.ext.moduleName = "jfx.incubator.richtext"
project.ext.incubating = true

sourceSets {
main
shims {
java {
compileClasspath += sourceSets.main.output
runtimeClasspath += sourceSets.main.output
}
}
test {
java {
compileClasspath += sourceSets.shims.output
runtimeClasspath += sourceSets.shims.output
}
}
}

project.ext.moduleSourcePath = defaultModuleSourcePath
project.ext.moduleSourcePathShim = defaultModuleSourcePathShim

commonModuleSetup(project, [
'base',
'graphics',
'controls',
'incubator.input',
'incubator.richtext'
])

dependencies {
testImplementation project(":base").sourceSets.test.output
testImplementation project(":graphics").sourceSets.test.output
testImplementation project(":controls").sourceSets.test.output
testImplementation project(":incubator.input").sourceSets.test.output
implementation project(':base')
implementation project(':graphics')
implementation project(':controls')
implementation project(':incubator.input')
}

test {
jvmArgs "-Djavafx.toolkit=test.com.sun.javafx.pgstub.StubToolkit"
}

def modulePath = "${project.sourceSets.main.java.getDestinationDirectory().get().getAsFile()}"
modulePath += File.pathSeparator + "${rootProject.projectDir}/modules/javafx.controls/build/classes/java/main"
modulePath += File.pathSeparator + "${rootProject.projectDir}/modules/javafx.graphics/build/classes/java/main"
modulePath += File.pathSeparator + "${rootProject.projectDir}/modules/javafx.base/build/classes/java/main"

// FIXME: KCR
// processResources {
// doLast {
// def cssFiles = fileTree(dir: "$moduleDir/com/sun/javafx/scene/control/skin")
// cssFiles.include "**/*.css"
// cssFiles.each { css ->
// logger.info("converting CSS to BSS ${css}");
//
// javaexec {
// executable = JAVA
// workingDir = project.projectDir
// jvmArgs += patchModuleArgs
// jvmArgs += "--module-path=$modulePath"
// jvmArgs += "--add-modules=javafx.graphics"
// mainClass = "com.sun.javafx.css.parser.Css2Bin"
// args css
// }
// }
// }
// }
//
// def copyShimBssTask = project.task("copyShimBss", type: Copy,
// dependsOn: [project.tasks.getByName("compileJava"),
// project.tasks.getByName("processResources")]) {
// from project.moduleDir
// into project.moduleShimsDir
// include "**/*.bss"
// }
// processShimsResources.dependsOn(copyShimBssTask)

addMavenPublication(project, [ 'graphics' , 'controls'])

addValidateSourceSets(project, sourceSets)
}

project(":swing") {

// We need to skip setting compiler.options.release for this module,
Expand Down Expand Up @@ -3911,7 +4086,17 @@ project(":systemTests") {
testImplementation project(":swing").sourceSets.test.output
}

def dependentProjects = [ 'base', 'graphics', 'controls', 'media', 'web', 'swing', 'fxml' ]
def dependentProjects = [
'base',
'graphics',
'controls',
'incubator.input',
'incubator.richtext',
'media',
'web',
'swing',
'fxml'
]
commonModuleSetup(project, dependentProjects)

File testJavaPolicyFile = new File(rootProject.buildDir, TESTJAVAPOLICYFILE);
Expand Down Expand Up @@ -4351,7 +4536,10 @@ task javadoc(type: Javadoc, dependsOn: createMSPfile) {
description = "Generates the JavaDoc for all the public API"
executable = JAVADOC
def projectsToDocument = [
project(":base"), project(":graphics"), project(":controls"), project(":media"),
project(":base"), project(":graphics"), project(":controls"),
project(":incubator.input"),
project(":incubator.richtext"),
project(":media"),
project(":swing"), /*project(":swt"),*/ project(":fxml"), project(":web")]
source(projectsToDocument.collect({
[it.sourceSets.main.java]
Expand Down Expand Up @@ -5675,6 +5863,7 @@ compileTargets { t ->
def modnames = []
moduleProjList.each { project ->
if (project.hasProperty("moduleName") && project.buildModule) {
def incubating = project.hasProperty("incubating") && project.ext.incubating
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After the merge of master, you can remove this (it is unused). I removed it from the PR #1616 (Support JavaFX incubator modules).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I plan to update (merge) the build script once #1616 is integrated.

modnames << project.ext.moduleName
File dir;
if (project.sourceSets.hasProperty('shims')) {
Expand All @@ -5686,16 +5875,18 @@ compileTargets { t ->
def dstModuleDir = cygpath(dir.path)
modpath << "${dstModuleDir}"

String themod = dir.toURI()
testJavaPolicyFile << "grant codeBase \"${themod}\" {\n" +
" permission java.security.AllPermission;\n" +
"};\n"

dir = new File(rootProject.buildDir, "sdk/lib/${project.ext.moduleName}.jar")
themod = dir.toURI()
runJavaPolicyFile << "grant codeBase \"${themod}\" {\n" +
" permission java.security.AllPermission;\n" +
"};\n"
if (!incubating) {
String themod = dir.toURI()
testJavaPolicyFile << "grant codeBase \"${themod}\" {\n" +
" permission java.security.AllPermission;\n" +
"};\n"

dir = new File(rootProject.buildDir, "sdk/lib/${project.ext.moduleName}.jar")
themod = dir.toURI()
runJavaPolicyFile << "grant codeBase \"${themod}\" {\n" +
" permission java.security.AllPermission;\n" +
"};\n"
}
}
}

Expand Down Expand Up @@ -5741,6 +5932,8 @@ compileTargets { t ->
def jmodName = "${moduleName}.jmod"
def jmodFile = "${jmodsDir}/${jmodName}"

def incubating = project.hasProperty("incubating") && project.ext.incubating

// On Windows, copy the native libraries in the jmod image
// to a "javafx" subdir to avoid conflicting with the Microsoft
// DLLs that are shipped with the JDK
Expand Down Expand Up @@ -5782,6 +5975,10 @@ compileTargets { t ->
if (sourceDateEpoch != null) {
args("--date", extendedTimestamp)
}
if (incubating) {
args("--do-not-resolve-by-default")
args("--warn-if-resolved=incubating")
}
args(jmodFile)
}
}
Expand Down
Loading