Prolint in OpenEdge Architect

Hot from the Prolint laboratory: the proof-of-concept work-in-progress alpha-prototype of Prolint inside OpenEdge Architect.

The purpose is to make it very easy and super-productive to use Prolint while you are working on your OpenEdge project in OpenEdge Architect. You need OpenEdge Architect 10.1C for this.

The toolbar gets a "run Prolint" button, somewhere close to the Run and Debug buttons, and when you press that Prolint button you start to lint the currently selected resource. That can be:
- the file in the active editor, or
- the file that is selected in the Resources treeview, or
- the directory that is selected in the Resources treeview, including all files and subdirectories, recursive.

The Prolint results are, as usual, displayed in a Progress window with a browse widget, but what's new is that this window is embedded in the OpenEdge Architect/Eclipse IDE. As shown in the following image:


You want to give it a try? There is no automatic setup yet, you need to do a couple of simple things manually. Here they are:

That's all!
Now, as you may have guessed, this is very early work. It is not finished. I release it because of the Open Source law "Release Often, Release Early" and because I hope you will help me with some of the following issues:

Issues

Resizing the Results view sucks. I am not good at resizing, in fact I am not good at GUI at all. I always get stuck in those "widget does not fit in frame" errors.

Open file in editor. What I want is that you can double-click on a row in the grid, and that the sourcefile (which is mentioned on that grid row) is opened in an editor and scrolls to the right line number. I don't have a clue how to do that!

Is there anything we can do to make installation easy? What and how?


Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Improvements to oea_results.w?

Hi,

I've tried integrating prolint into the 11.5 architect - and it works. I know it's more a proof of concept than a finished project but I was wondering if anyone had improved it within architect. When I click "Run Prolint" in my toolbar I get the oea_results.w window pop up as well as a window within the console area. Ideally I'd prefer just the console window and not both - if not, anyone got any pointers to get me started to improve it slightly - there's a few errors, etc that pop on mine that I'm sure could be got around with some effort.

Thanks!

Mark


Stefan Drissen's picture

Status bar in middle of browse

I have not used Prolint within other OpenEdge Architect versions before. When using 10.2B the status bar of the results window is placed over the results browse. When maximizing the results window the browse resizes nicely but the status bar is floating in the middle somewhere.

Add the following to WindowResized prolint/outputhandlers/oea_results.w as last line in the do with frame block:

hstatusbar:Y = {&WINDOW-NAME}:HEIGHT-PIXELS - hstatusbar:HEIGHT-PIXELS.

This prevents the status bar from floating over the browse. When resizing back down the window-resize event does not fire (as mentioned in other comments), so the status bar is lost... oh well.


Resizing

there seems to be a problem with resizing - the event does not seem to fire all the time: put a message "resizing" view-as alert-box in the resize trigger, and you will see that it rarely fires.


jurjen's picture

re: Resizing

Yeah I noticed that too. It seems like the resize event only fires when the window grows, not when it shrinks. What do you think, is that a bug in the OpenEdge Architect API (to be fixed by Progress TS) or a bug in something I coded in oea_results.w?


re: Resizing

I would suspect that it is something in the API - all your code does is a "ON WINDOW-RESIZED" ;)


Auto-start parsing

I don't think that the parser should start when pressing the button - I may not want to parse the current file. several time now, the parser has started on the entire project when I didn't want it to ;)


jurjen's picture

re: Auto-start parsing

Not sure if I understand.... you want a chance to confirm that Prolint will parse a directory? Good idea. But if the selection is only a single file, do you still want to confirm?


re: Auto-start parsing

I think there should be a button to (re)start parsing


jurjen's picture

re: Auto-start parsing

But... the "run Prolint" button in the toolbar is exactly that. I don't understand your proposal.


re: Auto-start parsing

heh - that's all I'm saying. I just took out the code in oea.p that started the parsing automatically, as it makes more sense to push the button when you want to parse, not have the parse start automatically


Problems with integrating

1) The customization editor option is only available in the "Openedge Editor" perspective. I use "Openedge Appbuilder" perspective, so this baffled me for a while ;) To add this option to appbuilder perspective, simply right click on the toolbar, choose "customize perspective", select the "Commands" tab, and check the "Openedge Extensibility Tools" option.

2) Added the toolbar as shown above, but cannot for the life of me make it appear :) Help !


jurjen's picture

make the new tool appear...

Yeah the customization editor doesn't create the new toolbar button until you make the secret gesture... first Save what you have edited by clicking the toolbar button that looks like an oldfashioned 3.5 inch diskette (after all, the customization editor is an editor even if it looks like a form, so it responds to the normal edit actions). And now the secret gesture: click the right-most button in the right-hand corner of the customization editor. The icon looks like, I don't know, roadkill and the tooltip says "Refresh Customization Options". That should do it.


thanks!

the "roadkill" button worked - I now have the icon ;)

Problem #1: if you "lint this source again", the results from the previous lint are not removed
Problem #2: there is no focus on the buttons in the lint window (no visual guide to show the currently selected button) at first. Playing around with the buttons and suddenly the focus rectangle appears