Re: some news / ideas

David Calinski <[email protected]> Sun, 5 Oct 2003 18:23:33 +0200
Newsgroups gmane.comp.tools.memaid.devel
Message-ID <[email protected]>
On Sunday 05 of October 2003 17:37, Carsten Niehaus wrote:
> In KDE-EDU is a class called KPlotWidget. With that class you can simly
> plot 2d-Plots with x/y-Axes, cool tickmarks and everything you ever wanted
> :) I already
> use that class in Kalzium and it works great. I am thinking about adding
> plotting
> of the statisticts. Perhaps something like the changes of a certain value
> in time (eg
> in the last 4 weeks). Are those facts stored in the datafile?

Actually only few data is stored (BTW: "data" is not plural in English, right? 
That's weird for me. :-)
 
	u_short l_ivl;    /* last interval computed by ann */
        u_short rl_l_ivl; /* real last interval */
        u_short ivl;      /* current interval computed by ANN */
        u_short rp;       /* number of repetitions */
        u_short gr;       /* (last) grade */

nothing more, but I think about adding additional, optionally used file 
"statistics.c" in core with some functions to store more data about every 
repetition - that data would be stored in another file and would be used only 
for statistics, not for ANN. (ANN needs just those few data above).


> Well, two ideas: What about a enum categorie { SCIENCE = 1 , LANGUAGE = 2
> ... }
> The problem with that: the user can't define the categories himself.

Yeah.

> Therefore I propose
> this: In a configurationfile is  a list with categiers. Perhaps XML?
>
> <categories>
>     <KMAcat>
>        <name>Science</name>
>        <defaultDifficulity>easy</defaultDifficulty>
>         and so on...
>      <KMAcat>
>      <KMAcat>
>        <name>Languages</name>
>        <defaultDifficulity>medium</defaultDifficulty>
>         and so on...
>      <KMAcat>
> </categories>

And also sub-categories maybe... but I see you think about yet-another-file 
and something KMemAid specific. :)
I would like to avoid it - ideally all important data should be in one file 
only, I think. And support for categories should be in core module: in plain 
ANSI C, ideally without any dependency, on XML parsers, etc.
And all things stored in binary file (elements.txt is just for user, K/MemAid 
normally doesn't read it) to squeeze the maximum from machine - MemAid should 
start and work as fast as possible. :-P

Now, I do have some ideas how to simply and efficiently implement it in core 
and store data - but I don't know how much my interface to it will be usable 
from GUI programmer point of view. (Simply: I don't how how this TreeList 
widgets works, I have never used it, don't know what data it needs, etc. -  
Fox Toolkit documentation is very vague, I can't look at it..).

From GUI programmer point of view:
Let's say every "struct elem" has also additional "int category" field.
And there is one more function in core: 
char *ma_description_of_category (int category); //that returns category name.

I think it would be enough to code this TreeList widget to show all elements 
in categories(?), to do something like this:
http://www.supermemo.com/images/contents.jpg
but without sub-categories.

Now about sub-categories. (if we want to implement them at all (what do you 
think?)).
There could be be yet another function in core, e.g.:
int ma_parent (int category); //that would return parent number
					// (or zero if this category is in root)

Now I can code all described above.
I just need feedback - if this is fine from GUI implementation, or I missed 
something?

(Currently I am implementing simply FXList (plain list, without parents, etc. 
- so no categories here) on a window with buttons in my GUI, FXTreeList 
widget is ahead of me, but I will get to it, anyways.)


-- 
David Calinski
http://neodave.civ.pl
/* FreeBSD: When we say free, we mean it. */



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf