ImproveMathEquationEditor/IRCMeetings/June2010/10th June2010

This page is the IRC log of the 10th June 2010 IRC meeting ( #education.openoffice.org ) with students for Google SoC 2010.

Back to June 2010

[18:05] Spiso: Don't know if you've noticed, but ericb2 e-mailed us 12 minutes ago, saying he'd online at 18.15

[18:05]  jopsen: didn't, thanks

[18:06]  jopsen: I'll hang around anyway I guess

[18:06]  jopsen: Are your exams finished?

[18:06] Spiso: still have two left...

[18:07] Spiso: just took one yesterday, while I was really sick... Turned out to be a bad idea... :(

[18:07] Spiso: Are you done ?

[18:07]  jopsen: I'm so sorry, you can pick a day?

[18:07]  jopsen: no, I'm not I have them 21.-24.6.

[18:08]  jopsen: four days of written papers, each 3 hours

[18:08] Spiso: no, I can't pick the day... But if I'd choosen not to show up... I'd gotten a second exam later...

[18:08] * fardad has quit (Quit: \\// LL&P)

[18:09]  jopsen: what subjects do you have to do still?

[18:09] Spiso: Okay, all of my exams are verbal... Usually 15-20 minutes

[18:10] * mba (~mba@nat/sun/x-dywdcdtwcaukwcxh) has joined #education.openoffice.org

[18:10] Spiso: "Principles of Concurrency and Operating Systems" and semester project exam

[18:11]  jopsen: looks good, my fried is trying to persuade me to switch to Math & Comp Sci

[18:11]  jopsen: to be able to do stuff like concurrency

[18:11]  jopsen: I'm now on pure math

[18:12] Spiso: Well, with math you'll most likely get a teaching job, isn't that correct ?

[18:13]  jopsen: oh no, I couldn't stand teaching, I'll to programming probably anyway

[18:13] Spiso: But CS and math is not that far apart... Most of the pratical programming we have had so far is not worth much...

[18:14] Spiso: okay... Then experience or a combination with CS is probably a good thing...

[18:14]  jopsen: exactly that's why I chose math, but I would do probably more CS

[18:14] hello

[18:14] * ericb2 back

[18:14] ericb2: hi,

[18:14]  hi

[18:14] mba: hello. Thanks for attending :-)

[18:15] Hi, I don't have much time today, but wanted to say hello and see if there is something I could help even in that short time

[18:16] mba: understood

[18:16] jopsen: Spiso let me present you Mathias Bauer, frawework and writer specialist

[18:16]  mba: nice to "meet you"

[18:17] jopsen: Spiso Mathias ( alias mba) worked on the starmath issue, and will certainly provide us good advices and tips

[18:17] sounds... neat...

[18:17] Let's start ?

[18:17] Agenda :

[18:17] 1. Point about the work in progress

[18:17] 2. OOoCon2010

[18:17] 3. Misc

[18:18]  I was trying to figure out how to, in SW, get values from SM

[18:18]  ericb2, do you by chance know how to change colors in oo4kids draw?

[18:18] <Spiso> I put some bp on SmGraphicAccessible but the didn't get hit

[18:19] TweakGames: yes, but I'll answer you later. Sorry -> meeting in progress

[18:19] <TweakGames> oh woops. Sorry.

[18:19] TweakGames: np

[18:19]  Spiso Sweetshark

[18:19] Spiso: I read your log

[18:20] Spiso: and added some colors / bold to make it more easy to be read

[18:20] <Spiso> I was trying to find some code in SW that actually communicates with SM somehow but found just few cases where it just looked for whether the object is formula

[18:20] <Spiso> oh, thanks

[18:21] Spiso: I have added some new tasks in the  list too

[18:22] <Spiso> I see that I'll have to improve the graphical side of the site :)

[18:23] * olorin_ (olorin@mandriva/support/i18n/olorin) has joined #education.openoffice.org

[18:23] Spiso: in fact, I read carefully your comments

[18:23] Spiso: and I think you are close

[18:23] <Spiso> I had a thought now about how to calculate the value in SM

[18:23] <Spiso> because I couldn't figure out how to move from SW side

[18:23] Spiso: as I told you, just test in simple cases, like add a simple letter in an equation

[18:24] Spiso: you proposed two solutions, didn't you ?

[18:24] <Spiso> ericb2: yes

[18:24] Spiso: did you try one already ?

[18:25] <Spiso> ericb2: no I have to find a way to communicate with SM from SW

[18:25] <Spiso> erib2: I need to know how to get values from there

[18:25] Spiso: ah. A wild idea could be to overload some method

[18:25]  Spiso Sweetshark

[18:25] <olorin_> ericb2: You won't completely disagree on what I said about QA to some extent? And you know my approach when it comes to suit behaviour.

[18:26] Spiso: and then, pass the value you want as an argument

[18:26] olorin_: can we continue 1) later 2) on another channel please ?

[18:26] thank you

[18:26] <olorin_> ericb2: Ok.

[18:26] Spiso: basically sw communicates with SW just with UNO API - like with all other embedded objects. What kind of communication do you want to have?

[18:27] <Spiso> mba: just to get one value from SmTableNode

[18:28] <Spiso> mba: in SwWrtShell::CalcPosition

[18:29] <Spiso> mba: if I could just get nBaseline from SmTableNode it's not that problem to make it align correctly

[18:30] Hm, that's problematic, as Math's API is not very "communicative", to say the least. I can't give you an immediate answer, but I will think about it.

[18:31] <Spiso> mba: do you know through which object are values received? if there are some

[18:32] <Spiso> mba: I thought that SmGraphicAccessible is used for that, but it seems that its methods are not used at all

[18:34] Spiso: Accessible == accessibility ?

[18:34] <Spiso> ericb2: oh, yeah, sry

[18:35] This object is used, but I can't tell you out of my head, what for. Basically retrieving information through the accessibility API is not a bad idea

[18:36] Spiso: you'll find the interface in offapi/com/sun/star/accessibility

[18:36] <Spiso> mba: do you have any idea, how to find out what and when uses it, if the breakpoints don't get hit?

[18:36] * julien_BLUG (~julien@123.115.183.223) has joined #education.openoffice.org

[18:37] <Spiso> ericb2: thanks, I'll have a look

[18:38] Spiso: imho, you'll probably need UNO to retrieve the value

[18:38] Spiso: using or not accesbility features

[18:39] <Spiso> ericb2: probably, but it wouldn't be problem if found a function that gets the other values (there must be some to get the size of the rectangle)

[18:40] <Spiso> ericb2: do you have any idea how to find it?

[18:40] <Spiso> ericb2: some mighty way of using gdb :)

[18:40] Spiso: to retrive nBaseline ?

[18:40] <Spiso> ericb2: no, to find the function

[18:40] The communication between sw and a math object is possible only via UNO. We have to figure out what is the best way. Using a UNO API is not a problem per se, and even if we don't find a suitable API that is implemented now, we can change that. I will discuss that with Thomas Lange and I hope that we can come up with an idea tomorrow.

[18:41] <olorin_> Do _not_ mess up the accessbility. I might be helpful with feedback...

[18:41] <Spiso> mba: great, thanks

[18:43] Spiso: I'm searching

[18:44]  Spiso Sweetshark

[18:44] Spiso: if I summarize, you want to get nBaseline from SmTableNode

[18:44] <Spiso> yes

[18:45] Spiso: and everything is private, or no method exists to retrieve the current equation to get the value, right ?

[18:45] <Spiso> ericb2: then it's quite straightforward to either change a little bit SM, figure out the cases and do it

[18:45] <Spiso> ericb2: no, there is no one that I know of

[18:46] <Spiso> ericb2: certainly not in the SmGraphicAccessible object

[18:46] Spiso: indeed

[18:46] Spiso: but I was in rect.hxx

[18:47] mba: are the equation cached in some vector of objects of something when the document is loaded ?

[18:47] equations

[18:48] mba: stored and cached I meant

[18:48] The formula picture is stored as a vector graphics (metafile) so that Writer can display them without loading Math.

[18:48] But Math itself does not have an internal cache

[18:49] mba: ok, thanks

[18:49] <Spiso> ericb2: the function GetBaseline is not private in SmNode, and it's easy to get there once, you can get to some Sm object

[18:50] Spiso: yes, I meant GetBaseline but if I'm not wrong, we probably will need a reference or a pointer on the right equation, and UNO will help

[18:51] Spiso: btw, did you simply try ?

[18:51] Sorry, I have to leave now. Spiso: I need your e-mail address.

[18:51] Spiso: I see SmNode inherits of SmRect

[18:51] <Spiso> mba: michal.spisiak@gmail.com

[18:51] mba: ok, thanks for attending :)

[18:51] Thanks!

[18:52] Bye to all!

[18:52]  Maaax mba mmu_screen

[18:52] <Spiso> mba: bye

[18:52] mba: see you

[18:52] <Spiso> ericb2: yes, it does

[18:52] mba: bye...

[18:52] * mba (~mba@nat/sun/x-dywdcdtwcaukwcxh) has left #education.openoffice.org

[18:52] <Spiso> ericb2: what where you asking whether I tried?

[18:53] <Spiso> ericb2: do I have to read a lot about UNO now?

[18:55] Spiso: if SmNode inherits of SmRect, the method is directly available

[18:55] Spiso: I meant GetBaseline

[18:55] <Spiso> ericb2: yes, as I said, inside SM it's not problem to get the value

[18:56] Spiso: ah, you meant from Sw ?

[18:57] Spiso: UNO can help

[18:57] <Spiso> ericb2: yeah

[18:57] <Spiso> ericb2: but there is a way, because size of the formula has to be passed and if we find it it's not that problem to adjust it to get nBaseline too

[18:58] Spiso: e.g. instantiate a UNO Reference or a pointer on the right object, and if there is currently no way (I'd be surprised), the point will be to create the missing parameter at some place in the UNO API

[18:59] Spiso: the difficulty is to retrieve the right object. I have similar issue with vectors of PolyPolygons in Impress

[18:59] <Spiso> ericb2: yes, I would say there is a way, but I couldn't find the code that deals with it

[19:00] <Spiso> ericb2: well, you're probably right

[19:00] Spiso: so start reading what is available in UNO API, e.g. start with Accessibility API and if there is a possibility, the next step will be to find an example in the code, to make it work

[19:01] <Spiso> ericb2: uhuh, thanks

[19:02] <Spiso> ericb2: inside CalcPosition there is

[19:02] <Spiso>     115     SwRect aObjBoundRect( GetAnchoredObj.GetObjRect );

[19:03] <Spiso> the SwAsCharAnchoredObject has some info about the anchored object

[19:03] Spiso: are SwRect and SmRect the same type ?

[19:04] <Spiso> ericb2: no

[19:05] <Spiso> ericb2: SmRect has lots of functions that are definetely not in SwRect and SmRect is not inherited from SwRect, so they are definitely not

[19:05] Spiso: what does exactly contain the SwRect : the whole equation ?

[19:05] <Spiso> ericb2: no, it's just a object that SmNode works with

[19:05] Spiso: ok

[19:06] <Spiso> ericb2: SmTableNode 'contains' whole equation

[19:06] * ericb2 found swrect.hxx

[19:06] <Spiso> ericb2: at least it has pointers on all other subnodes

[19:06] Spiso: I see

[19:07] Spiso: imho, both SwRect and SwRect inherit of svtools/gen.hxx

[19:07] Spiso : sorry, should read:  both SwRect and SwRect inherit of tools/gen.hxx

[19:08] <Spiso> ericb2: yes they do

[19:08] * ericb2 verified

[19:09] <Spiso> but there are just point and such things defined

[19:09] * JZA has quit (Ping timeout: 245 seconds)

[19:11] Spiso: as first try, and since we must progress with the meeting, I'd suggest you to set a bp  at SwRect aObjBoundRect( GetAnchoredObj.GetObjRect );

[19:11] inside CalcPosition if you can hit it

[19:12] Spiso: and then inspect the content of this object, to see whether there is a simple way to retrieve more information

[19:12] <Spiso> ericb2: alright

[19:12] * aamir (~7aa2cdec@gateway/web/freenode/ip.122.162.205.236) has joined #education.openoffice.org

[19:12] <Spiso> ericb2: we can move on

[19:13] jopsen: that's your turn :)

[19:14] I've started to draw the caret in SmGraphicWindow as a line. However, redrawing by calling invalidate causes flickering (invalidating the entire widget). I don't know if redrawing should be that slow, or if I'm doing it wrong. There might be obscurities that I haven't uncovered yet...

[19:15] I've been sick in bed last two days... So haven't been much online, but I'd like to discuss the caret movment issue someday..

[19:15] jopsen: flickering is a vcl issue (if ever)

[19:15] jopsen: and the master of fixing / analyzing them is Philipp Lohmann

[19:15] ericb2: Okay, so I shouldn't concern my self with that...

[19:16] jopsen: this can simply be a missing refresh somewhere, or something like that

[19:16] ericb2: or should we just postpone handling that issue...

[19:16] jopsen: but the question worth to be asked

[19:16]  jopsen julien_BLUG

[19:16] jopsen: to save time, I'd suggest you to ask on dev@gsl.openoffice.org

[19:16] ericb2: missing refresh ?

[19:17] jopsen: yes, the interaction between frames and the layout is complex

[19:17] ericb2: okay, I'll do that once I've isolated the issue more...

[19:17] jopsen: and the issue stands (imho) somewhere in vcl

[19:17] ericb2: yes, it's probably in vcl...

[19:18] ericb2: I have been trying to dig into it, but it's quite hard, especially when you don't know how it works... I assume somekind of doubler buffering is used...

[19:19] jopsen: add symbols in vcl and catch what happens

[19:20] jopsen: I must add: be patient is the rule, there is no magic, and every little issue can need a lot of time to be catched

[19:20] ericb2: yes...

[19:20] * JZA (~jza@187.143.142.29) has joined #education.openoffice.org

[19:21] jopsen: maybe you added some change who is time critical or something like that. this is easy when playing with frames and the layout (the sallayout)

[19:21] jopsen: that's why I directly suggest you to show your code and ask on dev@gsl

[19:21] ericb2: Anyway, I don't think this i a critical issue, the flickering is not extensive and optimizations, e.g. not invalidating the entire widget, could improve the likely situation dramatically...

[19:22] jopsen: ok

[19:23] ericb2: okay... got it... I'll isolate the issue and ask on dev@gsl

[19:23] ericb2: Have you read my discussion of caret movement strategy?

[19:24] jopsen: yes, I have read them, but I need to work more on your project. Apologies for being not as present as expected

[19:24] jopsen: I did even several times

[19:25] ericb2: well, if you don't understand it... it's probably my notes that are unclear...

[19:25] jopsen: that's not the point

[19:26] jopsen: the point is my day job is killing me : I had extra work and was only able to follow Spiso

[19:26] ericb2: not reading it like that... :)

[19:26] jopsen: but I'm more on it, and I expect to follow you better soon

[19:26] jopsen: just a problem of availability

[19:27] ericb2: Fair enough we all have that kind of issues once in a while... :)

[19:27] jopsen: I read your notes several times, because there are good things inside. and you work fast

[19:27] ericb2: Well, just don't read them too many times... Because I didn't :)

[19:28] ericb2: and yes, I have to work fast if I want to finish all of this project on time :)

[19:28] jopsen: your idea of create graphical trees for every equation is really nice

[19:29] ericb2: well, it was just a quick way of getting an overview... Anybody messing the tress one way or another will probably find them easier than reading parser.cxx

[19:30] * find them (the graphical trees)

[19:30] .. and trace using gdb (a nightmare compared to yor method)

[19:30] The conclusion for this week is : we are close to start writing code

[19:31] thre is no hurry, but just it's time to

[19:31] ericb2: or have started, but sounds about right...

[19:32] mid term is july (don't ask me the exact day though .. )

[19:32] <Spiso> around 20. I reckon

[19:32] ok

[19:32] Point 2 : OOoCon2010

[19:34] <Spiso> I wrote Cedric whether I could go to the panel session, and he seemed to be okey with it

[19:34] Spiso: great :)

[19:34] FYI,  the deadline is extended until June 16th

[19:34] <Spiso> he said I don't have to bother about the introduction

[19:35] just FYI, I didn't decide whether I was going to show up... So I told Cedric, that he shouldn't count on me for a panel session...

[19:35] <Spiso> or the papers or whatever

[19:35] jopsen: please think twice: this is a good occasion to show your work

[19:35] <Spiso> I might be able to stay at my friends house so it's easier for me to go

[19:36] Next point ?

[19:36] <Spiso> ericb2: are you presenting? in the panel session?

[19:36] I know... but I don't know when school starts again and project groups are formed in the first week which is usually around 1st of september...

[19:37] Spiso: no, I won't attend myself

[19:37] Misc questions  ?

[19:37] <Spiso> ericb2: okey then, I have no other questions

[19:37] Not really...

[19:38] Next meeting ?

[19:38] <Spiso> Thursday? Wednesday?

[19:38] I had in mind : Thursday 17th June 18:15 (because I'm always in a hurry)

[19:38] this channel

[19:38] <Spiso> ok

[19:38] <Spiso> have you made a log?

[19:39] Spiso: sure. Minute

[19:39] Thursday is okay with me...

[19:39] <Spiso> I'm fine too

[19:40] Great. To finish, the log of this meeting is available at : http://wiki.ooo4kids.org/index.php/ImproveMathEquationEditor/IRCMeetings/June2010/10th_June2010

[19:40] <Spiso> well then, see you both

[19:40] jopsen: to finish, I'd like to work with you in meantime

[19:40] jopsen: when is it possible for you ?

[19:40] Spiso: see you