|
|
Home » Developing U++ » U++ Developers corner » The plan....
The plan.... [message #17646] |
Sun, 24 August 2008 18:56 |
|
mirek
Messages: 14038 Registered: November 2005
|
Ultimate Member |
|
|
I think it is a good time to summarize all things to be done to make U++ really great platform.
So let us start. Following list will be incomlete and perhaps messy; it is the purpose of this post and thread to create some cozy todo list (and maybe roadmap?).
First, there are infrastructure issues: Make sure svn rights work as intended, do nightly website update, nightly builds, later automated testing etc... Oh, and I forgot about backup solution too
The documentation and class browser. I have done some first steps, I think next thing to do is add "code annotation" capability as the main tool, then support it with better C++ parser and finally do nice code browser.
Of course, a little bit harder part will be to actually write documentation
Next "true unicode" support. That means going wchar -> int, interpreting such WStrings in Draw correctly, also font replacement in X11. Later RTL support.
Core enhancements: Add merssene twister based random to Core, 'cure' Uuid with it, find a way how to support Posix events in Win32. I believe we also need a refactored TcpSocket in Core too. LocalProcess, SysExec.
Software rendering and Draw: Finally do it... most likely based on Cairo (or cairo codebase BTW, ideally, we should be able to e.g. draw PNG images WITHOUT having X11 libraries on the system. That would be perfect for www/server applications. (Speaking about it, in future, I would like to try some nice web toolkit).
OK, feel free to add to the list.
Mirek
|
|
|
Re: The plan.... [message #17648 is a reply to message #17646] |
Sun, 24 August 2008 19:57 |
|
From my side:
- GridCtrl2 - to deliver best grid in the market for free . New version will be (is) implemented from scratch. Main goals: grouping, virtual mode, different views (classical and cards), filtering system (I have it implemented in my current project) better integration with SQL package (less coding)
- together with James: docking system in TheIde. We have nv branch in svn, but none of us seem to have time right now to integrate it. But ofcourse it will be done.
- much better quicktabs (now we call it "tabbar"). Now they support drawing in any direction and drag and drop. In "ide" mode they will deliver some great solutions (I finally found how it should work).
- maybe some kind of ORM.
|
|
|
Re: The plan.... [message #17666 is a reply to message #17646] |
Mon, 25 August 2008 11:18 |
chickenk
Messages: 169 Registered: May 2007 Location: Grenoble, France
|
Experienced Member |
|
|
luzr wrote on Sun, 24 August 2008 18:56 | Software rendering and Draw: Finally do it... most likely based on Cairo (or cairo codebase BTW, ideally, we should be able to e.g. draw PNG images WITHOUT having X11 libraries on the system. That would be perfect for www/server applications. (Speaking about it, in future, I would like to try some nice web toolkit).
|
May I ask if the Cairo choice is immutable or not ? if there is place for some discussion here, I would simply like to bring to your attention some other great rendering libraries:
- AntiGrain (http://www.antigrain.com) -> some work already done, check for topics in this forum)
- Imlib2 (http://www.enlightenment.org) -> low-level fast rendering, not sure it has some advantages compared to actual cairo
- Evas (http://www.enlightenment.org) -> scene-graph based canvas library, extremely optimized and amazingly fast. Work is in good progress to integrate Win32 and Quartz backends. Already present backends: X11, Xrender, OpenGL, SDL, framebuffer (DirectFB used to be present as well, I am not sure it is maintained).
I'm a big fan of EFL (Enlightenment Foundation Libraries), but I would tend to personally choose AntiGrain, which also is very optimized, and most of all extremely accurate (more specifically font-rendering). Unless there is a specific reason to use Cairo.
Just to make sure Ultimate++ will (as usual) do the best to provide high-quality and optimized results.
Yours,
Lionel
|
|
|
Re: The plan.... [message #17668 is a reply to message #17666] |
Mon, 25 August 2008 11:39 |
|
mirek
Messages: 14038 Registered: November 2005
|
Ultimate Member |
|
|
chickenk wrote on Mon, 25 August 2008 05:18 |
luzr wrote on Sun, 24 August 2008 18:56 | Software rendering and Draw: Finally do it... most likely based on Cairo (or cairo codebase BTW, ideally, we should be able to e.g. draw PNG images WITHOUT having X11 libraries on the system. That would be perfect for www/server applications. (Speaking about it, in future, I would like to try some nice web toolkit).
|
May I ask if the Cairo choice is immutable or not ? if there is place for some discussion here, I would simply like to bring to your attention some other great rendering libraries:
[list type=square]
[*] AntiGrain (http://www.antigrain.com) -> some work already done, check for topics in this forum)
|
Yep, that is potential alternative.
Mirek
|
|
|
|
|
Re: The plan.... [message #17681 is a reply to message #17680] |
Mon, 25 August 2008 20:08 |
|
captainc wrote on Mon, 25 August 2008 12:45 |
Quote: | - maybe some kind of ORM.
|
What do you mean? How different from current SQL packages?
I use SqlAlchemy for Python, and it is a great tool; I am much more productive with it. Though, the effort that would go into building such a system would be great.
|
I mean something on top sql package. I don't have a clear vision yet (for my current project I wrote simply table->entity class generator for postgres and I thought it'd be great to have something similar but much more flexible), I'm open to any ideas, sugesstions. I'm looking at hibernate, linq, AR from RoR and I'll take a look at sqlalchemy (never used python so it's new to me) Thanks!
|
|
|
|
|
|
Re: The plan.... [message #17745 is a reply to message #17646] |
Wed, 27 August 2008 21:33 |
|
amrein
Messages: 278 Registered: August 2008 Location: France
|
Experienced Member |
|
|
Clean source code directory:
./examples
./examples/applications
./examples/references
./examples/manual
./manuals
./source
./source/3rdparty
./source/theide
./source/theide/callbackhandler
./source/theide/coff
./source/theide/coff/binobj
./source/theide/coff/uar
./source/theide/coff/uld
./source/theide/crashhandler
./source/theide/sqlcommander
./source/theide/topic
./source/theide/translator
./source/theide/updater
./source/theide/versioning
./source/upp
./source/upp/core
./source/upp/database
./source/upp/database/mysql
./source/upp/database/odbc
./source/upp/database/postgresql
./source/upp/database/sqlite
./source/upp/dbus
./source/upp/gui
./source/upp/gui/draw
./source/upp/gui/controls
./source/upp/gui/dialogs
./source/upp/gui/styles
./source/upp/html
./source/upp/network
./source/upp/opengl
./source/upp/richtext
./source/upp/script
./source/upp/sound
./source/upp/video
./source/upp/xml
./source/templates
./source/plugins
[Updated on: Thu, 28 August 2008 00:21] Report message to a moderator
|
|
|
|
Re: The plan.... [message #17752 is a reply to message #17746] |
Thu, 28 August 2008 00:08 |
|
amrein
Messages: 278 Registered: August 2008 Location: France
|
Experienced Member |
|
|
Quote: |
That kind of breaks the idea of packages and assemblies.
|
In fact, no.
I just need to modify "*.upp" files, they will still find other assembly.
Quote: |
But still, I would separate U++ the library from TheIDE, umk and other tools like coff. I see no good reason why they can't have their own assembly.
|
Because they are not stand alone..
Quote: |
It would also help when you are inserting a package dependency and are shown all the packages, including TheIDE packages. I know they are just a few, but still: what are the chances of me needing one of those packages if I'm not working on TheIDE (i.e. in MyApps).
|
So 7 assemblies:
- myapps
- examples
- templates
- upp
- theide
- 3rdparty
- plugins
[Updated on: Thu, 28 August 2008 00:16] Report message to a moderator
|
|
|
|
|
|
Re: The plan.... [message #17764 is a reply to message #17759] |
Thu, 28 August 2008 09:56 |
|
luzr wrote on Thu, 28 August 2008 03:02 | Another issue that we can perhaps solve after all:
Maybe we should make CtrlCore fully MT safe (in common sense, where you are required to serialize access to single widget by multiple threads).
PostCallback is good, but sometimes more straighforward solution would be even better...
Mirek
|
+ you have my vote
|
|
|
Re: The plan.... [message #17768 is a reply to message #17756] |
Thu, 28 August 2008 11:16 |
|
amrein
Messages: 278 Registered: August 2008 Location: France
|
Experienced Member |
|
|
luzr wrote on Thu, 28 August 2008 05:21 |
amrein wrote on Wed, 27 August 2008 18:08 |
So 7 assemblies:
- myapps
- examples
- templates
- upp
- theide
- 3rdparty
- plugins
|
I guess you still do not quite get the concept....
Anyway, I agree that theide could perhaps be moved to separate one.
Mirek
|
I messed up with packages and assemblies.
What I wanted to say:
- "Assembly" could be renamed "Collection"
- TheIDE and other packages related to "TheIDE only" could be moved into only one Collection (TheIDE collection/assembly)
- Other collections could be - myapps - examples - upp - 3rdparty - plugins.
- upp/source won't be a collection/assembly any more, but the default folder to search for Ultimate++ official collection.
Any collection/assembly must have a small explanation like packages do at present. Something like "Templates collection : to use one of those packages for your application, create a new package in MyApps and select template x"
That way, when I start TheIDE, I know what I do. I work on MyApps, Examples, on Templates, on TheIDE source, on upp...
If I'm still wrong, please correct me.
[Updated on: Thu, 28 August 2008 11:36] Report message to a moderator
|
|
|
Re: The plan.... [message #17769 is a reply to message #17646] |
Thu, 28 August 2008 12:51 |
mr_ped
Messages: 825 Registered: November 2005 Location: Czech Republic - Praha
|
Experienced Contributor |
|
|
Well, assemblies don't just "collect" packages, but they also handle inclusion of other assemblies in build process, i.e. after default 2008.1 install at Win32 you can't work with Bazaar packages in MyApps assembly (until you add that in Edit assembly).
This also allow you to have two uppsrc (stable / SVN), and assemblies MyApps/MyAppsSVN, which both refer to "Core" package, but from different assembly (version), and work on/build both in the same TheIDE.
In this sense I think the "assembly" is better name than "collection".
[Updated on: Thu, 28 August 2008 12:52] Report message to a moderator
|
|
|
|
Goto Forum:
Current Time: Fri Sep 20 05:34:04 CEST 2024
Total time taken to generate the page: 0.04267 seconds
|
|
|