...
There is a centralized view called the Project Dashboard - if you don't see it you can choose it from Project | Project Dashboard.
WinDev is designed to be a full-fledged project management system as well as a programming tool, so you'll find indicators on the dashboard of the overall "health" of your project. The above screen shows the dashboard in Developer mode. You can also switch to Project Manager mode to get an overview of project requirements and their status.
...
Like Clarion, WinDev has the ability to import a database and generate a fully functional browse/form style application. I began by choosing File | New... and choosing Project. This brought up the project wizard.
I made this a Windows application.
It's possible to defer the choice of platform until later.
As WinDev has project management support built in, I had the option of providing an estimated delivery date.
I selected a single user rather than a team environment, and then had a choice of charters.
A charter is a set of prefixes automatically attached to different kinds of functions and labels - think of it as a built in naming convention. There is just one predefined set which you can see by clicking on the Edit button:
There are naming conventions for project elements, window, page and report controls, and also for variables, where you can specify values for variable type and scope. These naming conventions apply to anything WinDev creates for you.
I'll skip some of the screen shots for the sake of space - there are a number of visual styles you can choose from, you can specify preferred and maximum window sizes, as well as internationalization/localization options. For the latter a wide range of language support is built in:
And at last, the database. I wanted to use an existing PostgreSQL database.
I didn't have an existing analysis for that database (in Clarion terms, a data dictionary) so on the following screens I indicated I wanted to import my tables from the database.
When it came time to choose my database I selected PostgreSQL, but as the selection window scrolls (I'm showing it here in its entirety) I missed the fact that I could select multiple databases at once, and that the default HyperfileSQL Classic database is already selected. So I had to go back and uncheck that option.
For Postgres there are two connection options: Native and ODBC via OLEDB. I had some trouble using the ODBC route (perhaps due to configuration problems on my end), so eventually I downloaded and installed the native PostgreSQL access module, and that worked.
...
The wizard then showed me a list of available tables.
There's also a nice little "Preview the data" link that will bring up the records for the selected table.
I chose three related tables, but which did not have the relationships defined in the Postgres database. WinDev created a database diagram:
which was immediately overlaid with an application wizard.
I clicked on Full Application RAD and was presented with a further choice of RAD pattern. There were five of these, four of which offered varying degrees of animation and other flashy effects. I went with Simple RAD.
Next I had the option of selecting files for generation:
I left all selected. A similar screen appeared asking me which files to use as main menu items. Again I stayed with all files.
...
Next, a help (or ?) menu.
That seemed like a good idea. I accepted the default entries for the ? menu:
WinDev offered to generate the help file automatically.
...
On the Project Dashboard I clicked on the languages button and removed those two languages. When I clicked OK WinDev compiled the app again. Now I had just three errors, still related to the languages.
This was due to a too-narrow report column, which I easily fixed by double-clicking on the error and changing the size of the column, which conveniently had its grab handles showing.
I ran the program by clicking the Go icon. Nothing too fancy given my choice of Simple RAD:
Each menu provided two items, one for the list and one for a new record form. Here's the articles list:
Note |
---|
In the database all my labels are lower case, as having mixed case labels in Postgres means you always have to refer to them in exactly that case. (It's one of the few unpleasant quirks in what is otherwise a massively useful SQL product.) |
The update form is similarly plain.
Note |
---|
By default at least, WinDev creates SDI applications, although MDI is supported. For SDI you have the option of automatically dimming all windows other than the active window. |
...
Right-clicking on the listbox brings up a context menu that allows you to select columns to display, copy data, and export to Word, Excel and XML.
There's a charting option as well, but it only appears to work on the first 50 records. Perhaps that's configurable.
You can also dynamically add calculations to numeric columns: sum, count and average. Thse will be added to the bottom of the column. On large data sets it can take a while for these values to appear.
All of which brings up the question of paged data retrieval. Clarion developers are accustomed to paged data retrieval, which brings the benefit of better performance on large data sets and introduces many complications when you want to do things like totals on data not entirely in memory. By default WinDev, like many other data retrieval tools, just brings back whatever you tell it you want, so it's up to you to use appropriate filters on your data sets. I'm told there is an equivalent to page loading available within WinDev, although it has some limitations. You can also build your own paging support, if you wish - Unlicensed user has demonstrated this in a WxLive webinar.
Just for fun, I regenerated the application using the Antakara pattern and got something rather different. Here's a browse with an open form (note that the browse is automatically dimmed):
The Ankara pattern adds a calendar, a ToDo list, and some graphics as standard equipment.
...
Like Clarion, WinDev lets you insert your own code into the generated code. Just right-click on any window or report and choose Code...
You'll get a view that looks a bit like the Clarion embed editor. In this screen shot I've pressed F6, which shows a sidebar with the initials and date of the latest source change. This can be very helpful in a team environment when you're trying to find out who made a change and for what purpose.
By default the code view shows available code points for the item on which you clicked (window, individual control, etc.). You can toggle the display of all code points with Ctrl-F6 or via the Code menu.
...
The report design also bears some similarity to the Clarion designer.
To add a new report element, right-click at the desired location on the report and choose Add a block:
Then choose a block type:
You can also add sorts and breaks:
Code reuse
One of the most important aspects of modern application development is code reuse. Naturally, windows, reports, and their associated code can be reused. But you can also create smaller and larger units of reusable code.
...