[Ktechlab-devel] KDE4 port
Julian Bäume
julian at svg4all.de
Mon Nov 16 14:57:19 UTC 2009
hi,
I want to discuss some thoughts and some work, I put into porting to KDE4.
I found it useful to divide porting into different steps. Some of these steps
will be quite invasive to the code-base and could also be called rewriting of
some parts. I won't refer to everything that needs to be done to finish the
port, but a plan, how to get started and proceed.
A long time ago, we discussed using kdevplatform as a base framework. I'm
still very addicted to this idea and have some working code and some open
problems with that. What does it mean for KTechLab? We need to rewrite some
components concerning document handling, project handling and things like
that. I implemented a document-plugin, that is able to load circuit-documents
in the same way, as it is possible, now. I was able to reuse some old code and
it was quite straight-forward, because at the moment everything concerning
project- and document-handling works similar to kdevplatforms ideas of doing
these things.
I have problems creating a customized ktechlab-specific main-window based on
kdevplatform, but IMHO these can be solved. I'm just not sure, how exactly. ;)
kdevplatform is still under development, as you might have noticed, but the
first stable release will be part of the next stable KDE4.4 release (if
everything goes, as expected).
I put a lot of effort into this part of the port. Too much, for my
understandings, but somehow I didn't come very far. I think, it's time to
discuss problems with other developers to see some progress in that field.
After that, we need ways to re-integrate all features of nowadays KTechLab
into this new hull. This is: code-editing possibilities for PIC, flow-code and
circuits. (unordered list)
Since there is some basic support for C in kdevelop, we can use these features
in KTechLab, too. Doing so, we can provide a more development oriented way of
editing C-code, asm-code and microbe-code. We can use kdevplatform to provide
toolchains for different MCU-architectures. We should start with PIC, to reach
feature-parity, but we can also take other architectures into account, since
most parts need to be rewritten, anyway. (However, we might be able to re-use
most of the toolchain related code)
Then there is flow-code and circuit-simulation. Reading some mails on this
list, it should be clear, that the visible part needs to be rewritten. (I
refer to everything under the heading of QCanvas...) I started to do so for
circuit-simulation but got distracted by that kdevplatform stuff, mentioned
earlier.
As I understand it, there's been some refactoring going on concerning
simulation (Alan and Zoltan working on that). I've been working on
visualisation and how to glue both parts together.
They key, I see here is an MVC-approach. The Model, some kind of component-
list, contains information about a circuit. Which components are where,
voltage- and current information, everything like that. Wires are also stored
in there (meaning, which components are connected how). The controller
(simulator) constructs the matrix from this information to do it's
computations like current-flow-analysis and all that is necessary to simulate
the circuit. I can't be more specific here. ;) The controller also must make
sure to update the physical values in the model. The view uses all available
information from the model to visualize the circuit and the corresponding
values for each component. The model is used for communication between the
simulator and the view. E.g. update the simulation data, when the circuit is
altered,...
I'll leave everything concerning flow-code editing open for now. This should
be similar to the work that needs to be done for circuits, just not as much
work, I guess.
Well, that's about my plan on how to proceed. We should use the wiki to nail
down a plan and organize our forces.
well, that's it from here, I'm looking forward to hear you comments.
bye then
julian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/ktechlab-devel/attachments/20091116/7d341351/attachment.sig>
More information about the Ktechlab-devel
mailing list