C++ Class Library
Uwe Kall (215) 120 posts |
In several posts, the c++ library situation came up recently, and as I think that such a library is a key component to programming on any platform, I’d like to start a discussion…. A C++ Class Library offers an OO way of interacting with the operating system. The support should include window/menu/file/eventhandling… just to name some of the main issues. As the Toolbox adresses these issues too, I think that at least a compatibility with the toolbox modules should be possible. It should be possible to change e.g. menues dynamically, and extensibility should be kept in mind, so new components could be added that are not in the Toolbox like e.g. an extended colour selector, a text editor … These are the attempts known by me (please comment to add others):
As I understand it, none of these are complete, well documented, and in productive use by more than one programmer. Vista: I did a small Project using vista several years ago and remember that I had some problems using it though it was well documented. !Vista provided threading support, but I think this part did’nt really work. Due to the level of support, it might be necessary to use gcc (it’s cheaper, too), but not to use the toolbox might also be a bad idea if ‘getting it done’ is important. Any comments ? (P.S. If anybody knows more about this please correct me) |
hilltop (573) 11 posts |
Also RTK (compiles with GCC only I think) and GuiLib (compiles with both Cfront and GCC), part of !PDF Thanks for starting this list, I wasn’t aware TBX was available until I saw this thread. I think GuiLib is fairly complete and has a largish working application as ‘proof of concept’, not so sure about RTK which probably could do with someone taking it in hand. It’s a shame there are several part-finished libraries instead of one decent one, maybe the outcome of this thread would be to concentrate shared effort in one direction. |
Uwe Kall (215) 120 posts |
Ok, according to what I could find up to now, !RTK is the best documented library thanks to Graham. Is the approach ‘avoiding’ the toolbox a good idea? Could anybody who worked with RTK comment please? Graham writes he wants to support the toolbox but its on the toDo List and that’s from 2003 as I see it. |
Andrew Rawnsley (492) 1445 posts |
!GUIlib is also part of Messenger Pro (well, its editor) as they are both Colin Granville originally. I ran headlong into this this weekend. If there are any C++ coding Mpro users around, I’d appreciate a helping hand. |
Alan Buckley (167) 233 posts |
There was also DreamScape (I’m not sure where you can get to it now). I did have a go at updating this many years ago, but decided I’d go back to continuing my long running project to create my own library. I also looked at the RTK and used it a little. The two things that stopped me continuing with it were the event handling seemed a little low level and it didn’t use the Toolbox. All these things are subjective though of course. TBX is my attempt to produce a C++ library for RISC OS. Like I said in another thread I’m working towards another release which will have improved documentation now. If anyone wants to look at it in it’s current state without using !PackMan or !RiscPkg they can download it directly from: TBX is designed for Toolbox applications, so if you don’t want to use the Toolbox it’s no good to you. I think everybody has different ideas of how a library should be, which is why every few years we get another incomplete library. I’d love to have an actively maintained/developed C++ library for RISC OS and would switch away from TBX (of course this applies only while nobody else is using TBX) if one appeared that met most of my criteria which are: |
Steffen Huber (91) 1954 posts |
Dreamscape is still available via the Stuttgart FTP server: I also remember the Vista library which was part of Easy C/C++. Once upon a time, I also planned to develop a class library (in Ada 95, of course!), but time and compiler constraints lead to another plan that didn’t work out. Back in those days, there were good reasons not to use the Toolbox – no source access, a heap full of bugs and no obvious plan by Acorn how to develop it further. Nowadays, with RISCOSOpen giving us full source access, I think it is actually a good idea to use (and extend!) the Toolbox. Every new Toolbox gadget is immediately available to all developers using all languages, which has to be a good thing. |
Steffen Huber (91) 1954 posts |
There is also still some doc available from the CAUG approch at a class library: |
Terje Slettebø (285) 275 posts |
I haven’t actually used the Toolbox, myself, but from what I’ve read about it, it appears to be an elegantly designed system – message driven and independent of programming languages… It’s one of the better things they have designed, it seems to me, and I’m all for improving and extending it. A C++ class library encapsulating its use would be very nice… :) |
Andrew Rawnsley (492) 1445 posts |
Yes, I was quite impressed when working on the main Mpro code, at how elegently certain things could be achieved with the Toolbox. Previously I’ve always used my (heavily modified) version of RISCOSLib, since Acorn were kind enough to give me full source in the early 90s. I feel quite strongly that any (class) library(ies) need to be open source, as it is often very necessary to understand “how things work” when trying to debug code, or add features efficiently. The only real stumbling block with the (open source) Toolbox is its reliance on relocatable modules that have to be soft-loaded and maintained externally. I recall in the early days, when bugs were rife, it was something of a headache ensuring users were bang up to date. I’d certainly like to see some form of co-operation with RISCOS Ltd on toolbox modules, as it must be obvious to everything that they don’t offer any commercial advantage to either party. The split in version numbers does nothing more than render the Toolbox less usable for everyone. A single open source repository for the modules would be the best solution all round. |
Jess Hampshire (158) 865 posts |
hopefully using packman to keep it up to date. |
Alan Buckley (167) 233 posts |
In case anyone missed the announcement on c.s.a.a I’ve now uploaded the latest version of my TBX library. For more information see http://alanb.drobe.co.uk/tbx.htm |
Uwe Kall (215) 120 posts |
Thanks for the info! I will look through the library within the week. My initial assumption that riscos needs a new class library seems to be far from true – I feel this is good news :-) Alan, would you accept others working on TBX too, maybe even as a (more or less) openly accessible repository? I am not sure if it is still necessary to have a toolbox-free class library. Is there anyone who would not use a class library if it uses the toolbox? (please state why) |
Alan Buckley (167) 233 posts |
Uwe, I would love others to work on TBX. The source code is at the RISC OS Packaging Project. //http://source.riscpkg.org/ project name tbx. If there is a better place to move it to give the kind of access you require I will certainly consider it. |
Trevor Johnson (329) 1645 posts |
This may not be the most appropriate thread, but is CathLibCPP still a valid addition? Or has it already been incorporated? |
Garry (87) 184 posts |
Recently, I’ve been musing writing a little something for RISC OS, and I’ve wondered what language/toolkit to use. I think it’s important that said toolkit is under active development, and it looks like TBX is. At the moment I’m waiting for the “Emulate” USB sticks to come back in stock at ROOL, and then I’ll give it a try. I’ve never used Toolbox, but if ROOL thinks this is the way to go, then that’s fine with me. |