Posts

Showing posts from June, 2019

Week 4 Report

This week:

As this week was my last week in my exams I worked in many minor points to finish it and finish all missing parts for phase1.

I migrate all the work in this branch :
                                 >  private/EL-SHREIF/ui_logger
This will make it easy to work on the old commits then we can merge at the end of the project.

as I found we have many lines that we will not use in the compiler in the future for example these lines:
        Action on element: urled with action : TYPE
        Action on element: urled with action : 16

So I solve this by make this function :
        OUString WindowUIObject::get_action(VclEventId nEvent) const
return empty string when we don't need to log this statement I think this won't be the best approach in the future.

this is example of what we can get now from the new logger:



Also for adding Jinja2 to use it in generation. I tried this week to create simple data structure that we can use to make same thing without any need to add …

Week 3 Report

This week:
I continue working on Rewriting the logger messages with the new DSL grammar:

    1)EditUIObject
        It wasn't finished last week but this week it's finished with the new garmmar and can log select and write actions.

    2)Uno Commands
        some small changes to be understandable with the new grammar
        ** a missing part here that we want to ignore logging message if the parameters of the UNO command are empty as they will be logged twice which is not good.

    3)Dialog Commands
        **Sometimes we have empty dialog names I don't know now how to handle this.

    4)Special Commands of (writer and Calc)
        In this part we know that we use EventDescription Object to transfere what we need to the logger for example in the GOTO command we put this parameters:
            aDescription.aAction = "GOTO";
            aDescription.aParameters = {{"PAGE", aPage}};
            aDescription.aID = "writer_edit";
            aDescription.aK…

Week 2 Report

This week

I continue working on the DSL grammar I added:

    1)UNOCommand

        I addded the parameters option.

    2) SpecialCommand

        I added the writer and calc commands as a start and I think it will be enough for now to start with this 2 applications and in the future we can add other applications and also we can add more features for the logger in this application easily.

This is the new statements for logging writer events:
    Type on writer {"TEXT": "s"}
    Select from Pos 5 to Pos 7
    Set Zoom to be 100
    GOTO page number 2

This is the new statements for logging calc events:
    Type on current cell {"TEXT": "a"}
    Switch to sheet number 2
    Select from calc {"CELL": "A1"}
    Lanuch AutoFilter from Col 2 and Row 1

I added all of this here: https://gerrit.libreoffice.org/#/c/73241/

Also Start to update the log statements for this UI objects:
(note that: this patch can't be merged now it should w…

Week 1 Report

Image
This week I start implementation of the grammar of the new DSL language:

I add this project files in core/uitest/ui_logger_dsl/

The new DSL language consist of some commands with diffrent types:

1) UNOCommand
        finished the commands that don't take parameters

2) StarterCommand
        done

3) UIObjectCommand
        this command logs all these objects actions:
            ButtonUIObject             CheckBoxUIObject             EditUIObject             RadioButtonUIObject             ListBoxUIObject             ComboBoxUIObject             SpinUIObject             SpinFieldUIObject             TabControlUIObject         all of these types are done

4) DialogCommand
        done 

5) SpecialCommand
        this command consist of any other action that related to special application   like actions for writer as (set zoom - GOTO page)
        I will work on this next week.


You can see example of expected logged file otput here : uitest/ui_logger_dsl/example.ul
as .ul mean uiLogger

also this…