andy-goryachev / FxDock

Docking framework for JavaFX (Work in Progress)
Apache License 2.0
46 stars 15 forks source link

Sorry For Posting Issue - Question about Tab Pane Support #17

Open krebznet opened 2 weeks ago

krebznet commented 2 weeks ago

I love this code, i tried the demo i can't get anything to be moved into an existing tab pane, i can see 2 browser tabs but does this project support the ability to undock a tab in a tab pane as its own window and then dock any view into a tab pane? From the demo i am a bit confused. thanks for the great work.

andy-goryachev commented 2 weeks ago

thank you for the kind words! glad you like it. sorry, there isn't much documentation for it, as I am currently focused on something else (JDK-8301121).

if you asking about TabPane, no you can't use it with the docking framework directly. what you need to do is to extend FxDockPane. Take a look at the DemoDockSchema to see how these dock panes fit into application framework which allows for storing/restoring the windows and tabs.

to answer your specific question, when you drop a FxDocPane onto another, depending where you drop it, the framework either creates a split pane or a tab pane. you don't need to use SplitPane or TabPane directly, the framework does it for you.

hope it helps.

krebznet commented 2 weeks ago

Thanks! I didn’t notice it the first time, but as you mentioned, if you drag over, you can get tabbed functionality—super cool! I’m using it as part of a trading platform, and right now, I’m exploring how I could save a layout, like a set of configured market scanners or charts, and then restore that layout. In my case, each class that extends FxPane would need to be initialized, which I think I’d do in my TradeDockSchema instance.

Anyway, I’m having fun with it—this gets me to some cool stuff. I also noticed that you have an abstract FxTable framework, which is great because I’m looking to build a dynamic table viewer. I want it to have a model for the table to provide styling and conditional styling for cells and columns. I guess it’s one step at a time. I noticed you’ve abstracted that out, but I didn’t find any examples. The model is like a DataBean with a map of properties.

Take care!

andy-goryachev commented 2 weeks ago

yes, persisting the layout is a part of the framework. again, sorry for the lack of documentation.

as for FxTable - I think I am going to abandon that, it was a response to the shortcomings of the tables before I fixed [most of them] in the latest jfx23.

trading platform - good luck with that! I spent seven years doing just that for a company that rhymes with "me trade"...

krebznet commented 1 week ago

People often overlook the “FREE” in open source! Thanks for mentioning JDK-8301121—it got me thinking. I’ve hinted at automated trading for this app, but it’s really an MVP showcasing a declarative stream computing language I created, inspired by a spreadsheet model for streaming data. Imagine a column-based spreadsheet where new columns are derived from cell expressions referencing current or historical data, layered with derivative calculations and aggregations. I’ve patented this approach, which focuses on time-aware stream computing, targeting the stock market with bots that allocate capital based on signals like trade volume spikes or rapid rate-of-change patterns across multiple timeframes.

As for JDK-8301121, I relate to your project. After years of building professional software at TIBCO with Eclipse/RCP, I tried creating my DSL on XText with Eclipse and OSGI/P2. But the constant integration headaches led me to explore other options. I sampled Electron, but I couldn’t abandon Java, so I landed on JavaFX. After diving into it, I envisioned a lightweight, Eclipse-like workbench, with context-driven menus and JavaFX’s modern look. Your FxDock has been a gift; it adds a new layer of user experience I’ve been aiming for.

Curious—does JDK-8301121 involve high-level scripting capabilities that I could incorporate into JavaFX? Specifically, I’m wondering if it offers an abstract model with hooks for regex-based text handling, such as for dropdown completions. Thanks again, and I’d love to learn more about JDK-8301121. I’m Duncan, the guy behind Dunkware, and I work at a large brokerage firm here in the U.S. Be well!

This is what i'm itching to get into a JavaFX text editor, the automated trading strategies or bots are defined in script in eclipse trying to get that into something like FX.

Screenshot 2024-10-07 at 9 32 00 PM

Give me a break on this one i just started it today. Screenshot 2024-10-07 at 9 52 17 PM

andy-goryachev commented 1 week ago

The prototypes look good!

JDK-8301121 involve high-level scripting capabilities

it's really a fairly basic paragraph-oriented rich text editor. you can either use it as is with its built-in model, or extend the model and/or the editor to fit your requirements. I really hope to get it in jfx24 as an incubator module - feel free to voice your support either in the ticket or in the javafx mailing list https://mail.openjdk.org/pipermail/openjfx-dev/2024-August/048300.html

cheers!

krebznet commented 1 week ago

Awesome! - Curious are getting paid by a company to work on the project or is it something you do on your own time?

andy-goryachev commented 1 week ago

check the email address in the ticket :-)