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 witho

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";            

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

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 : uites