Friday, May 30, 2008

More menus

I started working on the accelerator tables. To my surprise, accelerators meant a lot of new code. Beginning with APIs to be implemented:

WinCreateAccelTable
WinDestroyAccelTable
WinSetAccelTable
WinTranslateAccel

Structs to be created:

ACCEL
ACCELTABLE

And then customize the existing code to work as OS/2 does.

I felt short of finishing the implementation. I still need to verify that the commands are being sent. This is because I don't even know if the normal menus are sending commands.

Then I decided to go and finish the popup menus. I discovered how ignorant I was about the subject and that the initial implementation I had made was useless. First my notion of creating and displaying the popup was totally wrong. I placed the creation of the window and the displaying under the same method.

I then learned that the displaying was done when the WM_CONTEXTMENU message was capture (this is basic for some PM knowledge, but I'm new). I implemented the method on the Control class and I was able to see the message being capture there, and then I used WinPopupMenu API to display the popup. So far no luck, I'm being helped bye some people and I hope today I will finally see the menu.

Thursday, May 22, 2008

A new approach

I changed jobs and of course changes bring new challenges. I lost the only way I had of commiting the work, hence there have been no new updates to the SVN server.

I decided to work on the acceleration tables for the Menu object and I found out that there is a lot of work to do to enable them. First I have to implement a new API call "WinCreateAccelTable" and with it a new object "ACCELTABLE". I'll probably encounter new problems with memory handling using JNI. After all is implemented I'll need to create a testcase to test all that.

So for the time being I'll be busy.

Also I have created a new environment to develop. In a Virtual PC I installed a ECS RC4 and all the tools necessary to develop. The idea is to pass that on to other developers that don't have access to the right tools. My work is going to be complete tomorrow, then I'll have to find the way to share such a large file