online-glom:gwt-glom.git
11 years agoReports: Allow a second report to be shown.
Murray Cumming [Tue, 17 Apr 2012 14:35:05 +0000 (16:35 +0200)]
Reports: Allow a second report to be shown.

* src/main/java/org/glom/web/client/ui/ReportViewImpl.java:
clear(): Do not remove the HTML widget, which broke the whole layout.

11 years agoLocales drop-down: Show that we use English by default.
Murray Cumming [Tue, 17 Apr 2012 13:53:27 +0000 (15:53 +0200)]
Locales drop-down: Show that we use English by default.

* src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
fillView(): When we use English, just because that is the default, when
no locale is specified, show that in the Locales drop-down instead of
just showing the first item.

11 years agoUnselect the Report/Locale/Table combo item when appropriate.
Murray Cumming [Tue, 17 Apr 2012 13:27:38 +0000 (15:27 +0200)]
Unselect the Report/Locale/Table combo item when appropriate.

* src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
setPlace(): clear reportName if this is not a ReportPlace.
* src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
setSelectedTableName(), setSelectedLocale(), setSelectedReport():
When the provided name is empty, unselect all items, so that none are
indicated. This uses a for loop because I cannot find a single method
to do this.

11 years agoReport: Give the user a way to get back to the list.
Murray Cumming [Tue, 17 Apr 2012 12:54:22 +0000 (14:54 +0200)]
Report: Give the user a way to get back to the list.

* src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
start(), setPlace(): Show the Back To List link on reports, and also
interpret selecting the empty report item as back to list.

11 years agoStyle: Remove overflow:hidden from searchbox
Murray Cumming [Tue, 17 Apr 2012 12:28:06 +0000 (14:28 +0200)]
Style: Remove overflow:hidden from searchbox

* src/main/webapp/style.css: Because this pushes the Back To Link
label/link on to the next row, which is then hidden due to the
hard-coded (in ems) height.

11 years agoReally show the selected Report name.
Murray Cumming [Fri, 13 Apr 2012 13:17:12 +0000 (15:17 +0200)]
Really show the selected Report name.

* src/main/java/org/glom/web/client/activity/TableSelectionActivity:
setPlace(): Store the reportName here, if it is that kind of Place.
fillView(): Set the selected Report after filling the list of reports.
* src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
setSelectedLocale(), setSelectedReport(): Avoid possible uses of
null Strings, though we need some way to unselect all ListBox items
in that case.

11 years agoReportGenerator: Try to avoid some problems.
Murray Cumming [Fri, 13 Apr 2012 11:27:19 +0000 (13:27 +0200)]
ReportGenerator: Try to avoid some problems.

* src/main/java/org/glom/web/server/ReportGenerator.java
addField(): Try to avoid duplicates, and avoid using a null
class type.

11 years agoReports: Use quickFind.
Murray Cumming [Fri, 13 Apr 2012 11:03:57 +0000 (13:03 +0200)]
Reports: Use quickFind.

* src/main/java/org/glom/web/client/OnlineGlomService.java;
* src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
getReportHTML(): Add a quickFind parameter.
* src/main/java/org/glom/web/client/activity/ReportActivity.java
start(): Pass the quickFind parameter.
* src/main/java/org/glom/web/server/ReportGenerator.java
generateReport(): Take a quickFind parameter.

11 years agoReportPlace: Actually use the report name.
Murray Cumming [Fri, 13 Apr 2012 10:57:17 +0000 (12:57 +0200)]
ReportPlace: Actually use the report name.

* src/main/java/org/glom/web/client/place/ReportPlace.java
getPlace(): Do not assign the report name to the quickfind.

11 years agoShow java.library.path when complaining.
Murray Cumming [Fri, 13 Apr 2012 10:43:15 +0000 (12:43 +0200)]
Show java.library.path when complaining.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
init(): When telling us to check java.library.path, show the
current value.

11 years agoAdapt to the java-libglom 1.21.8 API.
Murray Cumming [Thu, 12 Apr 2012 07:55:13 +0000 (09:55 +0200)]
Adapt to the java-libglom 1.21.8 API.

* src/main/java/org/glom/web/server/ConfiguredDocument.java:
java-libglom's FieldFormatting is now Formatting.

11 years agoUse the latest java-libglom version.
Murray Cumming [Thu, 12 Apr 2012 07:40:05 +0000 (09:40 +0200)]
Use the latest java-libglom version.

* pom.xml: Use java-libglom 1.21.8.

Conflicts:

ChangeLog

11 years agoAdapt to the java-libglom 1.21.7 API.
Murray Cumming [Thu, 15 Mar 2012 12:19:57 +0000 (13:19 +0100)]
Adapt to the java-libglom 1.21.7 API.

* src/main/java/org/glom/web/server/ReportGenerator.java:
addToReport(): get_group_secondary_fields() is now
get_secondary_fields().

11 years agoUse the latest java-libglom version.
Murray Cumming [Thu, 15 Mar 2012 12:12:48 +0000 (13:12 +0100)]
Use the latest java-libglom version.

* pom.xml: Use java-libglom 1.21.7.

Conflicts:

ChangeLog
pom.xml

11 years agoReportGenerator: Do not show nulls.
Murray Cumming [Tue, 6 Mar 2012 22:24:57 +0000 (23:24 +0100)]
ReportGenerator: Do not show nulls.

11 years agoReportGenerator: Make the title font larger.
Murray Cumming [Tue, 6 Mar 2012 22:18:31 +0000 (23:18 +0100)]
ReportGenerator: Make the title font larger.

11 years agoReportGenerator: Put field titles inside groups, if there are groups.
Murray Cumming [Tue, 6 Mar 2012 22:16:46 +0000 (23:16 +0100)]
ReportGenerator: Put field titles inside groups, if there are groups.

11 years agoReportGenerator: Take the Report itself instead of the name and group.
Murray Cumming [Tue, 6 Mar 2012 21:53:32 +0000 (22:53 +0100)]
ReportGenerator: Take the Report itself instead of the name and group.

* src/main/java/org/glom/web/server/ConfiguredDocument.java
Remove getReportLayoutGroup().
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
getReportHTML(): Pass the report instead
of its name and layout group.
* src/main/java/org/glom/web/server/ReportGenerator.java
generateReport(): Use the report object to use the title
instead of the name.

11 years agoReportGenerator: Remove designBand parameters.
Murray Cumming [Tue, 6 Mar 2012 21:39:56 +0000 (22:39 +0100)]
ReportGenerator: Remove designBand parameters.

* src/main/java/org/glom/web/server/ReportGenerator.java:
Make designBand a class member instead of passing it to all
methods.

11 years agoReportGenerator: Add lines, a bit like in the desktop version.
Murray Cumming [Tue, 6 Mar 2012 21:28:25 +0000 (22:28 +0100)]
ReportGenerator: Add lines, a bit like in the desktop version.

* src/main/java/org/glom/web/server/ReportGenerator.java
addToReport(): Use JRDesignLine.

11 years agoReportGenerator: Correct the title positions and use some bold style.
Murray Cumming [Tue, 6 Mar 2012 21:19:08 +0000 (22:19 +0100)]
ReportGenerator: Correct the title positions and use some bold style.

* src/main/java/org/glom/web/server/ReportGenerator.java:
Break the code up into reusable functions, correct the placement of
titles, and use normal/bold styles as in the reports in the desktop
version.

11 years agoReportGenerator: Add a header band to show the field titles.
Murray Cumming [Tue, 6 Mar 2012 20:38:37 +0000 (21:38 +0100)]
ReportGenerator: Add a header band to show the field titles.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
getReportHTML(): Pass the localeId to the ReportGenerator
constructor.
* src/main/java/org/glom/web/server/ReportGenerator.java
constructor: Take the localeID so we can get translated field
titles.
generateReport(), addToReport(), addFieldToBand(): Add field
titles in a column header band.

11 years agoReports drop-down list: Some improvement.
Murray Cumming [Mon, 5 Mar 2012 19:35:22 +0000 (20:35 +0100)]
Reports drop-down list: Some improvement.

* src/main/java/org/glom/web/client/ui/TableSelectionView.java
* src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
Adedd setSelectedReport(),
setReportList(): Add a blank line so that the user can select the
first one.
* src/main/java/org/glom/web/client/activity/ReportActivity.java
start(): Show the current report by calling setSelectedReport().
This does not seem to work yet.

11 years agoDetailsActivity, ListActivity: Move some variables into a base class.
Murray Cumming [Mon, 5 Mar 2012 19:33:33 +0000 (20:33 +0100)]
DetailsActivity, ListActivity: Move some variables into a base class.

* src/main/java/org/glom/web/client/activity/DetailsActivity.java:
* src/main/java/org/glom/web/client/activity/HasTableActivity.java:
* src/main/java/org/glom/web/client/activity/ListActivity.java: Move
the clientFactory, documentID, tableName and authenticationPopup into
a base class, to avoid duplication.

11 years agoTranslate the Reports label.
Murray Cumming [Mon, 5 Mar 2012 16:38:21 +0000 (17:38 +0100)]
Translate the Reports label.

* src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java
Get the "Reports" label string from the constants.
* src/main/resources/org/glom/web/client/ui/OnlineGlomConstants.pro
perties: Add Reports to the constants.

11 years agoDisplay date and time in details view.
Ben Konrath [Sat, 3 Mar 2012 21:55:55 +0000 (22:55 +0100)]
Display date and time in details view.

https://bugzilla.gnome.org/show_bug.cgi?id=671257

* src/main/java/org/glom/web/client/ui/details/DetailsCell.java:

Conflicts:

ChangeLog

11 years agoRemove gradient from selected tab.
Ben Konrath [Sat, 3 Mar 2012 16:04:07 +0000 (17:04 +0100)]
Remove gradient from selected tab.

11 years agoRequire the latest java-libglom.
Murray Cumming [Sun, 4 Mar 2012 23:15:12 +0000 (00:15 +0100)]
Require the latest java-libglom.

* pom.xml: java-libglom 1.21.5 has LayoutItem_GroupBy.

11 years agoReports: Implement grouping.
Murray Cumming [Sun, 4 Mar 2012 23:14:11 +0000 (00:14 +0100)]
Reports: Implement grouping.

* src/main/java/org/glom/web/server/ReportGenerator.java:
Handle LayoutItem_GroupBy items and try to do the right thing
with JRDesignGroup. It seems to work.

11 years agoActually show some data with JasperReports.
Murray Cumming [Sun, 4 Mar 2012 16:27:50 +0000 (17:27 +0100)]
Actually show some data with JasperReports.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
getReportHTML(): Move most code into a ReportGenerator class.
* src/main/java/org/glom/web/server/ReportGenerator.java:
Recurse into sub-groups, adding fields to the JasperDesign's details
band. Note that we must set an arbitrary width and height, or it just
will not show any data.

11 years agoMore use of JasperReports, but it doesn't show data yet.
Murray Cumming [Sun, 4 Mar 2012 10:27:09 +0000 (11:27 +0100)]
More use of JasperReports, but it doesn't show data yet.

11 years agoReports Chooser: Show the titles, not the names.
Murray Cumming [Sun, 4 Mar 2012 09:55:27 +0000 (10:55 +0100)]
Reports Chooser: Show the titles, not the names.

* src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java
(TableSelectionViewImpl.setReportList): Show the titles in the UI,
and the names as the values.
* src/main/java/org/glom/web/server/ConfiguredDocument.java
(ConfiguredDocument.getReportLayoutGroup): Do not return a default
group now that we provide the report name, so it should always
succeed.

11 years agoListViewDbAccess.getSelectQuery(): Avoid using empty quickfind strings.
Murray Cumming [Sun, 4 Mar 2012 09:41:21 +0000 (10:41 +0100)]
ListViewDbAccess.getSelectQuery(): Avoid using empty quickfind strings.

* src/main/java/org/glom/web/server/database/ListViewDBAccess.java
ListViewDBAccess.getSelectQuery(): Do not create a where clause for
an empty quickfind string. I also corrected libglom to create only
empty where clauses for empty quickfind strings, but this avoids the
need for that fix.

11 years agoImprove the tabs in the Notebook widget.
Ben Konrath [Fri, 24 Feb 2012 11:42:23 +0000 (12:42 +0100)]
Improve the tabs in the Notebook widget.

Bug #670728

11 years agoSome simple use of JasperReports.
Murray Cumming [Fri, 17 Feb 2012 11:17:11 +0000 (12:17 +0100)]
Some simple use of JasperReports.

This does not generate actual HTML yet.

11 years agoDepend on jasperreports.
Murray Cumming [Wed, 15 Feb 2012 20:37:01 +0000 (21:37 +0100)]
Depend on jasperreports.

* pom.xml: Add the dependency. My plan is to use this on the
server side.

11 years agoFix the build.
Murray Cumming [Wed, 15 Feb 2012 20:28:54 +0000 (21:28 +0100)]
Fix the build.

11 years ago1.21.4.1
Murray Cumming [Tue, 7 Feb 2012 09:03:43 +0000 (10:03 +0100)]
1.21.4.1

11 years agoUse translations from Glom's .po files.
Murray Cumming [Tue, 7 Feb 2012 08:36:05 +0000 (09:36 +0100)]
Use translations from Glom's .po files.

11 years agoImplement navigation to report places.
Murray Cumming [Tue, 31 Jan 2012 22:03:03 +0000 (23:03 +0100)]
Implement navigation to report places.

* src/main/java/org/glom/web/client/activity/ReportActivity.java
start(): Do not bother to handle all events here.
* src/main/java/org/glom/web/client/ui/TableSelectionView.java
* src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
Added getSelectedReport().
* src/main/java/org/glom/web/client/activity/TableSelectionActivity
.java: start(): When handling a change to the reports chooser,
call getSelectedReport() and goTo() its ReportPlace.
* src/main/java/org/glom/web/client/ui/ReportView.java
* src/main/java/org/glom/web/client/ui/ReportViewImpl.java:
Added setReportHTML() which puts the html in a gwt HTML widget.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
getReportHTML(): Return TODO just to show that this works.

11 years agoMake ReportPlace usable.
Murray Cumming [Tue, 31 Jan 2012 21:58:31 +0000 (22:58 +0100)]
Make ReportPlace usable.

* src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
Mention ReportPlace.
* src/main/java/org/glom/web/client/place/ReportPlace.java:
Correct the @prefix annotation.

11 years agoOnlineGlomService: Return report HTML rather than the LayoutGroup.
Murray Cumming [Tue, 31 Jan 2012 20:44:50 +0000 (21:44 +0100)]
OnlineGlomService: Return report HTML rather than the LayoutGroup.

* src/main/java/org/glom/web/client/OnlineGlomService.java:
* src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
Change getReportLayout() to getReportHMTL() because we will not need to
parse or render the report layout on the client side.
* src/main/java/org/glom/web/server/ConfiguredDocument.java:
getReportLayout(): Return the libglom LayoutGroup type because we will
not need to convert to a shared type, because this will not be used on
the client side.
* src/main/java/org/glom/web/client/activity/ReportActivity.java:
Adapted.

Note that there is still no implementation for this.

11 years agoMore Spanish translated strings.
Murray Cumming [Tue, 31 Jan 2012 08:08:10 +0000 (09:08 +0100)]
More Spanish translated strings.

11 years ago1.21.4
Murray Cumming [Mon, 30 Jan 2012 09:30:28 +0000 (10:30 +0100)]
1.21.4

11 years agoTranslations: Try to translate the strings.
Murray Cumming [Mon, 30 Jan 2012 09:04:52 +0000 (10:04 +0100)]
Translations: Try to translate the strings.

* src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_cs.properties:
* src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_de.properties:
* src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_es.properties:
* src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_sl.properties:
* src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_zh_CN.properties:
Take the Open translation from GTK+'s .po files.
Take the Details translation from Glom's po files.
I have added the other strings to Glom so we can get translations that way:
http://git.gnome.org/browse/glom/commit/?id=c3cefe607428a84bdf8de1b04e8bef6f70b04564

11 years agoLet Eclipse format all source code.
Murray Cumming [Fri, 27 Jan 2012 21:15:43 +0000 (22:15 +0100)]
Let Eclipse format all source code.

11 years agoAdd a (empty) Report Place, View, and Activity.
Murray Cumming [Fri, 27 Jan 2012 12:45:00 +0000 (13:45 +0100)]
Add a (empty) Report Place, View, and Activity.

* src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
Rename to:
* src/main/java/org/glom/web/client/place/HasTablePlace.java
* src/main/java/org/glom/web/client/place/ListPlace.java: Move some of
this into a superclass:
* src/main/java/org/glom/web/client/place/HasRecordsPlace.java
and also use it as the base of this new ReportPlace:
* src/main/java/org/glom/web/client/place/ReportPlace.java

* src/main/java/org/glom/web/client/ui/ReportView.java
* src/main/java/org/glom/web/client/ui/ReportViewImpl.java
* src/main/java/org/glom/web/client/activity/ReportActivity.java:
Add these, containing mostly boiler-plate for now.

* src/main/java/org/glom/web/client/OnlineGlomService.java
* src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java
* src/main/java/org/glom/web/server/ConfiguredDocument.java
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
Add API to get the LayoutGroup for the report.

11 years agoTableSelectionViewImpl: Put the search label and entry in a div.
Murray Cumming [Fri, 27 Jan 2012 11:39:36 +0000 (12:39 +0100)]
TableSelectionViewImpl: Put the search label and entry in a div.

* src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
Put the search widgets in a FlowTable so that the CSS can be used to
style them while keeping them together.
* src/main/webapp/style.css: Mention the new div.

11 years agoTranslate more strings in more locales.
Murray Cumming [Fri, 27 Jan 2012 11:07:41 +0000 (12:07 +0100)]
Translate more strings in more locales.

* src/main/resources/org/glom/web/client/ui/OnlineGlomConstants.properties:
* src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
* src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
* src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
Translate the "Details" and "Open" string too.

* src/main/java/org/glom/web/OnlineGlom.gwt.xml:
* src/main/resources/org/glom/web/client/ui/OnlineGlomConstants.properties:
* src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_cs.properties:
* src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_es.properties:
* src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_sl.properties:
* src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_zh_CN.properties:
Add these new locales as placeholders though they currently contain English.

11 years agoOnlineGlomServiceImpl: Avoid (unlikely) null object dereferences.
Murray Cumming [Fri, 27 Jan 2012 08:41:56 +0000 (09:41 +0100)]
OnlineGlomServiceImpl: Avoid (unlikely) null object dereferences.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: get*():
Check the ConfiguredDocument* for null before using it.

11 years agoRemove unnecessary SuppressWarnings
Murray Cumming [Thu, 26 Jan 2012 22:28:17 +0000 (23:28 +0100)]
Remove unnecessary SuppressWarnings

11 years agoMinor formatting fixes.
Murray Cumming [Thu, 26 Jan 2012 20:00:02 +0000 (21:00 +0100)]
Minor formatting fixes.

11 years agoTell Eclipse about the generated java files.
Murray Cumming [Thu, 26 Jan 2012 19:59:46 +0000 (20:59 +0100)]
Tell Eclipse about the generated java files.

* .classpath: This lets it find OnlineGlomConstants.java.
It would be nice if Eclipse just used the maven build files.

11 years agoPrevent a crash when no locale is specified in the URL.
Murray Cumming [Thu, 26 Jan 2012 19:58:09 +0000 (20:58 +0100)]
Prevent a crash when no locale is specified in the URL.

* src/main/java/org/glom/web/client/Utils.java: getCurrentLocaleID():
Avoid returning a null string, obtained from
Window.Location.getParameter(). This caused a crash when it was
later passed to libglom's API.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
init(), getDocumentInfo(), getListViewLayout(), getDocuments(),
getDetailsLayoutAndData(): Use StringUtils.defaultString() to
guard against future null strings.

11 years agoFix previous commit.
Murray Cumming [Thu, 26 Jan 2012 12:30:26 +0000 (13:30 +0100)]
Fix previous commit.

11 years agoUse the ?locale= query param instead of the &lang= token param.
Murray Cumming [Thu, 26 Jan 2012 12:22:26 +0000 (13:22 +0100)]
Use the ?locale= query param instead of the &lang= token param.

* src/main/java/org/glom/web/client/place/ListPlace.java
* src/main/java/org/glom/web/client/place/DetailsPlace.java
* src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java
Remove the lang token key and value.

* src/main/java/org/glom/web/client/ui/TableSelectionView.java
* src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
When the user selects a different locale from the chooser, use
Window.Location.assign() to change the URL, which then causes a reload.

* src/main/java/org/glom/web/client/Utils.java: Added getCurrentLocaleID().
* src/main/java/org/glom/web/client/activity/DetailsActivity.java
* src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java
* src/main/java/org/glom/web/client/activity/ListActivity.java
* src/main/java/org/glom/web/client/activity/TableSelectionActivity
* src/main/java/org/glom/web/client/ui/DocumentSelectionView.java
* src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
* src/main/java/org/glom/web/client/ui/ListView.java:
* src/main/java/org/glom/web/client/ui/ListViewImpl.java:

Remove localeID member variables and method/constructor parameters, instead
using Utils.getCurrentLocaleID() when we need a localID to pass to
OnlineGlomService.

11 years agoInternationalize the UI strings.
Murray Cumming [Thu, 26 Jan 2012 10:17:29 +0000 (11:17 +0100)]
Internationalize the UI strings.

* pom.xml: gwt-maven-plugin: Add the i18n goal and specify a
<i18nConstantsBundle>, removing the unused <i18nMessagesBundle>.
* src/main/resources/org/glom/web/client/Messages.properties: Remove this
because it is unused. Messages are apparently strings that can have
parameters, but we do not need that yet, so Contants will be enough for now.
* src/main/java/org/glom/web/OnlineGlom.gwt.xml: Add extend-property lines
to say that we support the en and de locales.
* src/main/resources/org/glom/web/client/ui/OnlineGlomConstants.properties:
The original English strings.
* src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_de.properties:
Some German translations of the English strings.
The i18n goal then uses the .properties file to generate an
OnlineGlomConstants.java file in target/ and somehow GWT.create() magically
returns an implementation that returns the translated strings.
The documentation suggests putting these in src/java/*/client/, but it seems
best to put it in src/resources/*/client/.
* src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
Instantiate OnlineGlomConstants via GWT.create() and use it to get the strings
instead of hard-coding them.
Note that we cannot import OnlineGlomConstants because it does not exist yet,
but that does not seem to stop the build, though it confuses Eclipse.

You can see the translated string by adding ?locale=de to the URL, like so:
http://127.0.0.1:8888/OnlineGlom.html?gwt.codesvr=127.0.0.1:9997?locale=de#list:document=film_manager

11 years agoImprove null/empty String checks.
Murray Cumming [Tue, 24 Jan 2012 13:11:36 +0000 (14:11 +0100)]
Improve null/empty String checks.

* pom.xml: Add a dependency on commons-lang, to use
org.apache.commons.lang.StringUtils.
* src/main/java/org/glom/web/server/ConfiguredDocument.java
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
* src/main/java/org/glom/web/server/database/RelatedListDBAccess.java
* src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
Use StringUtils.isEmpty().

* src/main/java/org/glom/web/client/StringUtils.java: Add a tiny
StringUtils class with a static isEmpty() function because we
cannot use org.apache.commons.lang.StringUtils in client-side
GWT code because it (apparently) cannot be compiled to javascript.
* src/main/java/org/glom/web/client/activity/DetailsActivity.java
* src/main/java/org/glom/web/client/activity/ListActivity.java
* src/main/java/org/glom/web/client/activity/TableSelectionActivity.java
* src/main/java/org/glom/web/client/place/DetailsPlace.java
* src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java
* src/main/java/org/glom/web/client/place/ListPlace.java
* src/main/java/org/glom/web/client/ui/cell/NumericCell.java
* src/main/java/org/glom/web/client/ui/cell/TextCell.java
* src/main/java/org/glom/web/client/ui/details/DetailsCell.java
* src/main/java/org/glom/web/client/ui/details/Group.java
* src/main/java/org/glom/web/client/ui/details/Notebook.java: Use
our StringUtils.isEmpty() function.

11 years agoMinor formatting change
Murray Cumming [Tue, 24 Jan 2012 20:40:46 +0000 (21:40 +0100)]
Minor formatting change

11 years agoReports drop-down: Layout corrections.
Murray Cumming [Tue, 24 Jan 2012 20:23:10 +0000 (21:23 +0100)]
Reports drop-down: Layout corrections.

11 years agoFix another badly-resolved conflict.
Murray Cumming [Tue, 24 Jan 2012 20:14:58 +0000 (21:14 +0100)]
Fix another badly-resolved conflict.

11 years agoFix typo.
Murray Cumming [Tue, 24 Jan 2012 20:11:38 +0000 (21:11 +0100)]
Fix typo.

11 years agoUpdate to the latest java-libglom API.
Murray Cumming [Tue, 24 Jan 2012 12:00:34 +0000 (13:00 +0100)]
Update to the latest java-libglom API.

* pom.xml: Require java-libglom 1.21.4.
* src/main/java/org/glom/web/server/ConfiguredDocument.java
getDocumentInfo(), getListViewLayoutGroup():
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
getDocuments():
* src/main/java/org/glom/web/server/database/DBAccess.java
getFieldsToShowForSQLQueryAddGroup(),
getPrimaryKeyLayoutItemField(): Replace get_database_title()
with either get_database_title_original() or
get_database_title(localeID).

11 years agoConfiguredDocument: Avoid a null pointer exception.
Murray Cumming [Tue, 24 Jan 2012 11:34:18 +0000 (12:34 +0100)]
ConfiguredDocument: Avoid a null pointer exception.

* src/main/java/org/glom/web/server/ConfiguredDocument.java
Initialize localeID to "" to avoid returning a null String which
causes a crash in java-libglom's swing-generated code.

11 years agoSome simple renaming.
Murray Cumming [Mon, 23 Jan 2012 11:05:13 +0000 (12:05 +0100)]
Some simple renaming.

* src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java
* src/main/webapp/style.css: Rename, tableChooser to tablesChooser. Likewise
for localeChooser. This seems more appropriate and is less ambiguous
particularly in the .css file.

11 years agoConfiguredDocument: Rename the localedID private member variable.
Murray Cumming [Sun, 22 Jan 2012 21:24:58 +0000 (22:24 +0100)]
ConfiguredDocument: Rename the localedID private member variable.

Conflicts:

ChangeLog

11 years agoAdd missing file.
Murray Cumming [Tue, 24 Jan 2012 19:55:37 +0000 (20:55 +0100)]
Add missing file.

11 years agoAdapt to the latest java-libglom API from git master.
Murray Cumming [Mon, 23 Jan 2012 09:51:12 +0000 (10:51 +0100)]
Adapt to the latest java-libglom API from git 

* src/main/java/org/glom/web/server/database/ListDBAccess.java:
libglom now uses only Vector instead of List, which uses add() instead of
addLast().

11 years agoAdd and fill a Reports drop-down list box.
Murray Cumming [Mon, 23 Jan 2012 08:04:44 +0000 (09:04 +0100)]
Add and fill a Reports drop-down list box.

* src/main/java/org/glom/web/server/ConfiguredDocument.java:
Aded getReports():
* src/main/java/org/glom/web/client/OnlineGlomService.java:
* src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
Added getReports(document, table, localeID), calling
ConfiguredDocument.getReports().
* src/main/java/org/glom/web/client/ui/TableSelectionView.java:
* src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
Added setReportsList() and a list widget.
* src/main/java/org/glom/web/client/activity/TableSelectionActivity
.java (TableSelectionActivity.fillView(): Fill the view's reports list.

11 years agoConfiguredDocument: Rename the localedID private member variable.
Murray Cumming [Sun, 22 Jan 2012 21:24:58 +0000 (22:24 +0100)]
ConfiguredDocument: Rename the localedID private member variable.

11 years ago1.21.1 1.21.1
Murray Cumming [Fri, 20 Jan 2012 12:31:11 +0000 (13:31 +0100)]
1.21.1

11 years agoBuild a source tarball with mvn assembly:assembly
Murray Cumming [Fri, 20 Jan 2012 12:12:14 +0000 (13:12 +0100)]
Build a source tarball with mvn assembly:assembly

* assembly.xml: Add this file.
* pom.xml: Use the maven-assembly-plugin and tell it to use
our assembly.xml file.

11 years agoOnlineGlomServiceImpl: Get .glom files recursively.
Murray Cumming [Thu, 19 Jan 2012 21:24:12 +0000 (22:24 +0100)]
OnlineGlomServiceImpl: Get .glom files recursively.

* pom.xml: Depend on commons-io from org.apache.commons.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
init(): Use org.apache.commons.io.FileUtils.listFiles() to get the
files recursively, and with the easier filter for the extension.
Use org.apache.commons.io.FilenameUtils.removeExtension() to
simplify that code too.

11 years agoFix a typo
Murray Cumming [Thu, 19 Jan 2012 20:32:52 +0000 (21:32 +0100)]
Fix a typo

11 years agoREADME: Mention that you must install java-libglom packages separately.
Murray Cumming [Thu, 19 Jan 2012 09:04:52 +0000 (10:04 +0100)]
README: Mention that you must install java-libglom packages separately.

But then it works, because java-libglom is now in the central maven
repository.

11 years agolocales drop-down: Show the correct selected locale when the URL changes.
Murray Cumming [Wed, 18 Jan 2012 22:05:26 +0000 (23:05 +0100)]
locales drop-down: Show the correct selected locale when the URL changes.

* src/main/java/org/glom/web/client/activity/TableSelectionActivity
.java: setPlace(): Move some code into fillView().

11 years agolocales drop-down: Do not lose the primary key.
Murray Cumming [Wed, 18 Jan 2012 21:49:46 +0000 (22:49 +0100)]
locales drop-down: Do not lose the primary key.

* src/main/java/org/glom/web/client/activity/DetailsActivity.java
start(): onLocaleChange(): Pass the current primary key value,
instead of an empty value.

11 years agolocales drop-down: Do not lose the drop-down selection.
Murray Cumming [Wed, 18 Jan 2012 21:48:39 +0000 (22:48 +0100)]
locales drop-down: Do not lose the drop-down selection.

* src/main/java/org/glom/web/client/activity/TableSelectionActivity
.java (TableSelectionActivity.fillView): Set the selected locale
after changing the drop-down items (though we do not really need
to change them just because the locale changes.)

11 years agolocales drop-down: Change the tables list when this changes.
Murray Cumming [Wed, 18 Jan 2012 21:38:32 +0000 (22:38 +0100)]
locales drop-down: Change the tables list when this changes.

* src/main/java/org/glom/web/client/activity/TableSelectionActivity
.java: TableSelectionActivity.start(): Move the async table titles
retrieval into a private fillView() method and also call this when
the chosen locale changes.
Note that the document title is not actually translatable yet, but
that is a problem that I should fix soon in libglom.

11 years agoImprove the placement of the locales drop-down.
Murray Cumming [Wed, 18 Jan 2012 10:37:40 +0000 (11:37 +0100)]
Improve the placement of the locales drop-down.

* src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java
Put the title and locales drop-down in a div (gwt.FlowTable).
* src/main/webapp/style.css: Add magic css properties to make this work.
Also remove the left margin from the title so that it lines up with the
headerbox below it.

11 years agolocales selector: Show human-readable locale titles.
Murray Cumming [Tue, 17 Jan 2012 23:13:33 +0000 (00:13 +0100)]
locales selector: Show human-readable locale titles.

* src/main/java/org/glom/web/server/ConfiguredDocument.java
getDocumentInfo(): Use java.util.Locale to show a real title of
each locale, in the locale's own language.

11 years agoAdd a language/locale selector drop-down.
Murray Cumming [Tue, 17 Jan 2012 22:50:35 +0000 (23:50 +0100)]
Add a language/locale selector drop-down.

* src/main/java/org/glom/web/shared/DocumentInfo.java:
Add getLocaleIDs(), setLocaleIDs(), getLocaleTitles(), setLocaleTitles().
* /src/main/java/org/glom/web/server/ConfiguredDocument.java:
getDocumentInfo(): Store the available Locales in the DocumentInfo.
* src/main/java/org/glom/web/client/ui/TableSelectionView.java:
* src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
Add a ListBox to show the available locales. Add getLocaleSelector(),
setLocaleList(), getSelectedLocale(), setSelectedLocale().
* src/main/java/org/glom/web/client/event/LocaleChangeEvent.java
* src/main/java/org/glom/web/client/event/LocaleChangeEventHandler.
java: Add these classes.
* src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
start(): Fill the locales ListBox. Handle its change event, firing a
LocaleChangeEvent.
setPlace(): Show the selected locale as specified by the URL token.
* src/main/java/org/glom/web/client/activity/DetailsActivity.java:
* src/main/java/org/glom/web/client/activity/ListActivity.java:
Handle LocaleChangeEvent, going to a new *Place with that locale.

The placement of the ListBox is not pretty, and it currently uses the ID
as a title, instead of "English", "Deutsch", "Espanola", etc, but it
is a start.

11 years agoFix a typo.
Murray Cumming [Tue, 17 Jan 2012 22:27:04 +0000 (23:27 +0100)]
Fix a typo.

11 years agoSearch box: Show the search text from the URL token.
Murray Cumming [Tue, 17 Jan 2012 21:42:24 +0000 (22:42 +0100)]
Search box: Show the search text from the URL token.

* src/main/java/org/glom/web/client/ui/TableSelectionView.java:
* src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
Add setQuickFindText().
* src/main/java/org/glom/web/client/activity/TableSelectionActivity
.java: setPlace(): Store the queryText if the place is a ListPlace,
and call TableSelectionView.setQuickFindText().

11 years agoAllow use of translations via, for instance, &lang=de in the URL.
Murray Cumming [Mon, 16 Jan 2012 22:33:06 +0000 (23:33 +0100)]
Allow use of translations via, for instance, &lang=de in the URL.

* pom.xml: Use the unstable java-libglom 1.21 version.

* src/main/java/org/glom/web/client/OnlineGlomService.java:
* src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
init(): Instead of calling TranslatableItem.set_current_locale()
(now removed), call ConfiguredDocument.setDefaultLocaleID().
However, this is only for default locales, which are not needed to
change the locale in the URL.
getDocumentInfo(), getListViewLayout(), getSortedListViewData(),
getDetailsData(), getDetailsLayoutAndData(), getRelatedListData(),
getSortedRelatedListData(): Add a localeID parameter, so we can get the
layout for a particular locale.
* src/main/java/org/glom/web/server/ConfiguredDocument.java:
Add get/setDefaultLocaleID().
getDocumentInfo(), getListViewData(), getRelatedListData(),
getDetailsLayoutGroup(), getListViewLayoutGroup(),
createLayoutItemPortalDTO(), convertToGWTGlomLayoutItemField(): Add a
localeID parameter, so we can get the layout for a particular locale.

* src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
* src/main/java/org/glom/web/client/place/DetailsPlace.java:
* src/main/java/org/glom/web/client/place/ListPlace.java:
Parse and construct a lang parameter too.

* src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
start(): Pass the defaultLocaleID to addDocumentLink(). It is then
passed to subsequent methods and constructors.
* src/main/java/org/glom/web/client/activity/DetailsActivity.java:
* src/main/java/org/glom/web/client/activity/ListActivity.java:
Store the localeID from the *Place and pass it to other constructors
and methods, such as OnlineGlomServiceAsync.getDetailsLayoutAndData().

* src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
* src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
* src/main/java/org/glom/web/client/ui/TableSelectionView.java
* src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java
* src/main/java/org/glom/web/client/ui/ListView.java:
* src/main/java/org/glom/web/client/ui/ListViewImpl.java:
Take localeID parameters and pass them to subsequent constructors and
methods, so that the layout is always retrieved for that locale.

This is rather repetitive.

Note that "" means the original (default) locale of the Glom document,
which is usually English.

11 years agoDocuments: Remove final keyword to fix startup configuration. libglom-1-20
Murray Cumming [Tue, 17 Jan 2012 09:39:18 +0000 (10:39 +0100)]
Documents: Remove final keyword to fix startup configuration.

* src/main/java/org/glom/web/shared/Documents.java: Remove the
final keywords on the private member variables because that breaks
the startup, apparently (there are warnings) because it stops them
from being serialized. I added these in the previous commit.

11 years agoDocuments: Add some final keywords.
Murray Cumming [Fri, 13 Jan 2012 17:23:44 +0000 (18:23 +0100)]
Documents: Add some final keywords.

* src/main/java/org/glom/web/shared/Documents.java: Eclipse suggested
this.

11 years agoOnlineGlomServiceImpl: Add to overview comments.
Murray Cumming [Fri, 13 Jan 2012 17:20:43 +0000 (18:20 +0100)]
OnlineGlomServiceImpl: Add to overview comments.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
Note that this is where all the document are loaded. They are not
loaded freshly for each page.

11 years agoAdd a search box.
Murray Cumming [Thu, 12 Jan 2012 23:12:35 +0000 (00:12 +0100)]
Add a search box.

* src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
Add a TextBox for the text of a quick find.
Add getQuickFindBox(), to get the widget, and getQuickFindText() to
get the text.
setBackLink(): Add a String quickFind parameter.
* src/main/java/org/glom/web/client/ui/TableSelectionView.java
(TableSelectionView): Add getQuickFindBox() and getQuickFindText()
to the base interface, because that is how TableSelectionViewImpl is used.
* src/main/webapp/style.css: Add style for the search box and its label.

* src/main/java/org/glom/web/client/event/QuickFindChangeEvent.java:
* src/main/java/org/glom/web/client/event/QuickFindChangeEventHandler.java:
Add these files, based on the existing TableChangeEvent and
TableChangeEventHandlers.
* src/main/java/org/glom/web/client/activity/DetailsActivity.java
start(): Handle QuickFindChangeEvent, passing its quickFind text to
a ListPlace() that the user should be taken to.
* src/main/java/org/glom/web/client/activity/ListActivity.java
start(): Handle it here too and adapt the TableChangeEvent handler to
pass the extra  quickFind parameter to ListPlace.
* src/main/java/org/glom/web/client/place/ListPlace.java:
Constructor: Take an extra String quickFind parameter and store it,
returning it from a new  getQuickFind() method.
getToken(): Put the quickFind text in the URL token.
getPlace(): Parse the quickFind text from the URL token.
* src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ja
va: addDocumentLink(): Pass an extra  quickFind parameter to the
ListPlace constructor.
* src/main/java/org/glom/web/client/activity/TableSelectionActivity
.java: start(): Add a Change handler for the TableSelectionView's
TextBox (via its base HasChangeHandlers interface), firing the new
QuickFindChangeEvent.
setPlace(): Adapt the call to TableSelectionView.setbackLink(), to
pass the extra  quickFind parameter.

* src/main/java/org/glom/web/client/ui/ListViewImpl.java:
setCellTable(): Add a String quickFind parameter and pass it to
the ListViewTable() constructor.
* src/main/java/org/glom/web/client/ui/ListView.java: Change
setCellTable() in the base interface, because that is how ListViewImpl
is used.

* src/main/java/org/glom/web/client/ui/list/ListTable.java:
Add a String quickFind member variable.
* src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
Constructor: Add a String quickFind parameter, storing it in the
base ListTable's member variable.
onRangeChanged(): Pass quickFind to the
OnlineGlomServiceAsync.getSortedListViewData() and
OnlineGlomServiceAsync.getListViewData() methods.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
getListViewData(), getSortedListViewData(): Add a String quickFind
parameter, passing it to ConfiguredDocument.getListViewData().
* src/main/java/org/glom/web/client/OnlineGlomService.java:
Change getListViewData(), getSortedListViewData() in the base interface,
because that is how OnlineGlomServiceImpl is used, via this:
* src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
Change getListViewData(), getSortedListViewData() here too.
This class can apparently be used to asynchronously call methods on
OnlineGlomService, and GWT seems to implement that after recognizing
just the *Async name convention and the extra AsyncCallback parameters.

* src/main/java/org/glom/web/server/ConfiguredDocument.java
getListViewData(): Add a String quickFind parameter, and pass it to
ListViewDBAccess.getData().
* src/main/java/org/glom/web/server/database/ListDBAccess.java
getListData(): Add a String quickFind parameter and pass it to
getSelectQuery().
getSelectQuery(): Add a String quickFind parameter.
* src/main/java/org/glom/web/server/database/ListViewDBAccess.java
getSelectQuery(): Add a String quickFind parameter and use it with
Glom.get_find_where_clause_quick() to pass a where_clause to
Glom.build_sql_select_with_where_clause(), to actually filter the
list view results.
getData(): Add a String quickFind parameter, passing it to getListData().
* src/main/java/org/glom/web/server/database/Rela
va: getData(): Pass an empty string to getL
quickFind parameter.

11 years agoListTable: Minor change.
Murray Cumming [Thu, 12 Jan 2012 13:31:04 +0000 (14:31 +0100)]
ListTable: Minor change.

* src/main/java/org/glom/web/client/ui/list/ListTable.java
createCellTable(): Make this protected instead of public.

11 years agoSeveral files: Use final for the parameters and use the @override attribute.
Murray Cumming [Thu, 12 Jan 2012 09:33:10 +0000 (10:33 +0100)]
Several files: Use final for the parameters and use the @override attribute.

11 years agoMinor documentation/comment changes
Murray Cumming [Thu, 12 Jan 2012 09:24:03 +0000 (10:24 +0100)]
Minor documentation/comment changes

11 years agoCorrect the ChangeLog
Murray Cumming [Wed, 11 Jan 2012 21:12:32 +0000 (22:12 +0100)]
Correct the ChangeLog

11 years agoAdd anchor links for single line text that starts with http, ftp and www.
Ben Konrath [Sun, 25 Dec 2011 01:29:50 +0000 (02:29 +0100)]
Add anchor links for single line text that starts with http, ftp and 

11 years agoAdd ellipsis to single line text in details view.
Ben Konrath [Sun, 25 Dec 2011 00:00:33 +0000 (01:00 +0100)]
Add ellipsis to single line text in details view.

11 years agoUpdate a copyright year.
Murray Cumming [Wed, 4 Jan 2012 20:08:48 +0000 (21:08 +0100)]
Update a copyright year.

11 years agoRemove all javadoc author tags.
Murray Cumming [Wed, 4 Jan 2012 20:08:05 +0000 (21:08 +0100)]
Remove all javadoc author tags.

Because they are awkward and meaningless when many people touch
many files.
See https://gitorious.org/online-glom/gwt-glom/commit/7628b732cb90cbc6d5635420a75568504e8b3655#comment_81164

11 years agoCorrect the ChangeLog
Murray Cumming [Wed, 4 Jan 2012 19:59:49 +0000 (20:59 +0100)]
Correct the ChangeLog

11 years agoRevert the COPYING.LESSER to COPYING rename.
Murray Cumming [Wed, 4 Jan 2012 19:54:41 +0000 (20:54 +0100)]
Revert the COPYING.LESSER to COPYING rename.

Apparently both should be there if it is LGPL.

This partially reverts commit ed70963225640fd794cdb3e1a01043060ad3aff7.

11 years ago*View: Remove unused imports.
Murray Cumming [Tue, 3 Jan 2012 12:51:38 +0000 (13:51 +0100)]
*View: Remove unused imports.

* src/main/java/org/glom/web/client/ui/DetailsView.java:
* src/main/java/org/glom/web/client/ui/DocumentSelectionView.java
* src/main/java/org/glom/web/client/ui/ListView.java:
* src/main/java/org/glom/web/client/ui/TableSelectionView.java:
Remove unused imports, as suggested by Eclipse.