Обсуждение: PATCH(WIP): Printing Support And Save GQB/Explain as an image

Поиск
Список
Период
Сортировка

PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Ashesh Vashi
Дата:
Hi Team,

Please find the WIP patch for "Printing Support in frmQuery (QueryBuilder/Graphical Query Builder(GQB)/Explain) & Save as an image".

Modified/Added file list and explanation are given below:
Print support on Gtk (Linux)

*
xtra/wx-build/build-wxgtk
  - We have to modify this script, added few new flags) to enable printing on Gtk.
  Please follow these links for more details:
  http://docs.wxwidgets.org/trunk/overview_unixprinting.html
  http://wiki.wxwidgets.org/Printing
  http://docs.wxwidgets.org/stable/wx_printingoverview.html

Print support/Save as an image in Explain window

* pgadmin/ctl/explainPrintout.cpp (Added)
  - Definition for the new introduced class - ExplainPrintout
  - A helping class for support for the printing the explain
*
pgadmin/gqb/gqbPrintout.cpp (Added)
  - Definition for the new introduced class - gqbPrintout
 
- A helping class for support for the printing the GQB
* pgadmin/ctl/explainCanvas.cpp
* pgadmin/include/ctl/explainCanvas.h
  - Added new function ExplainCanvas::SaveAsImage(filename) to save Explain as an image (bmp for now)
  - Removed a unused variable lastShape

Print support for the Query window

* pgadmin/include/ctl/ctlSQLBox.h
*
pgadmin/include/frm/frmQuery.h
*
pgadmin/include/gqb/gqbViewController.h
*
pgadmin/frm/frmQuery.cpp
* pgadmin/gqb/gqbController.cpp

Print support/Save as an image in GQB

* pgadmin/include/gqb/gqbEvents.h
* pgadmin/include/gqb/gqbGraphSimple.h
  - I had to use wxMemoryDC instead of wxBufferedDC to enable printing
* pgadmin/include/gqb/gqbGraphBehavior.h
* pgadmin/gqb/gqbGraphSimple.cpp
* pgadmin/gqb/gqbView.cpp
  - Change the function definition drawAll(wxBufferedDB& bdc) to drawAll(wxMemoryDC& bdc, bool adjustScrolling)
  - Using the same function to draw on PrintDC/PrintPreviewDC and Canvas.
  - In case of PrintDC/PrintPreviewDC, we do not need this function to adjust the scrolling according to the canvas
  - Introduced a new variable modelSize to take care of the total size of the Model (Model consists of tables & Joins)
  - Introduced a new function updateModelSize(...) to update the model size on demand

Data/Project Initialization & new menu declaration

* pgadmin/include/frm/menu.h
* pgadmin/include/utils/sysSettings.h

* pgadmin/pgAdmin3.cpp
- Initialize the Print objects for Query/Explain/GQB.

pgAdmin Build addition (Added new files)

* pgadmin/pgAdmin3.vcproj
* pgadmin/gqb/module.mk
* pgadmin/ctl/module.mk

I have tested this patch on linux (Ubuntu having libgnome installed), Window Vista and Mac 10.5.
I am having couple of problems with this patch.
1. On OSX (Mac):
   - If I see a print preview for any of Query/Explain/GQB, it works perfectly.
     But, when we close the Print-Preview dialog, the query dialog is not getting enabled.
     Something is missing, but I am not able to figure out the same.
2. On all the platforms:
   - If I call the new function updateModelSize(...), when we add new table to the model.
   - In this case, after selecting a table/view from the left size tree (browser), if I click couple of times (five-six times), then the program is getting crashed.
   - I tried to use the mutex/Semaphore, but it was still not working. :(
   (For the same reason, I have not added the updateModelSize(...) function, while creating/deleting a table/view, in this patch)

Can anybody please help on this?

--
Thanks & Regards,
Ashesh Vashi

EnterpriseDB INDIA: http://www.enterprisedb.com

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Ashesh Vashi
Дата:
Hi All,

(Please see below...)

Ashesh Vashi wrote:
Hi Team,

Please find the WIP patch for "Printing Support in frmQuery (QueryBuilder/Graphical Query Builder(GQB)/Explain) & Save as an image".

Modified/Added file list and explanation are given below:
Print support on Gtk (Linux)

*
xtra/wx-build/build-wxgtk
  - We have to modify this script, added few new flags) to enable printing on Gtk.
  Please follow these links for more details:
  http://docs.wxwidgets.org/trunk/overview_unixprinting.html
  http://wiki.wxwidgets.org/Printing
  http://docs.wxwidgets.org/stable/wx_printingoverview.html

Print support/Save as an image in Explain window

* pgadmin/ctl/explainPrintout.cpp (Added)
  - Definition for the new introduced class - ExplainPrintout
  - A helping class for support for the printing the explain
*
pgadmin/gqb/gqbPrintout.cpp (Added)
  - Definition for the new introduced class - gqbPrintout
 
- A helping class for support for the printing the GQB
* pgadmin/ctl/explainCanvas.cpp
* pgadmin/include/ctl/explainCanvas.h
  - Added new function ExplainCanvas::SaveAsImage(filename) to save Explain as an image (bmp for now)
  - Removed a unused variable lastShape

Print support for the Query window

* pgadmin/include/ctl/ctlSQLBox.h
*
pgadmin/include/frm/frmQuery.h
*
pgadmin/include/gqb/gqbViewController.h
*
pgadmin/frm/frmQuery.cpp
* pgadmin/gqb/gqbController.cpp

Print support/Save as an image in GQB

* pgadmin/include/gqb/gqbEvents.h
* pgadmin/include/gqb/gqbGraphSimple.h
  - I had to use wxMemoryDC instead of wxBufferedDC to enable printing
* pgadmin/include/gqb/gqbGraphBehavior.h
* pgadmin/gqb/gqbGraphSimple.cpp
* pgadmin/gqb/gqbView.cpp
  - Change the function definition drawAll(wxBufferedDB& bdc) to drawAll(wxMemoryDC& bdc, bool adjustScrolling)
  - Using the same function to draw on PrintDC/PrintPreviewDC and Canvas.
  - In case of PrintDC/PrintPreviewDC, we do not need this function to adjust the scrolling according to the canvas
  - Introduced a new variable modelSize to take care of the total size of the Model (Model consists of tables & Joins)
  - Introduced a new function updateModelSize(...) to update the model size on demand

Data/Project Initialization & new menu declaration

* pgadmin/include/frm/menu.h
* pgadmin/include/utils/sysSettings.h
* pgadmin/pgAdmin3.cpp
- Initialize the Print objects for Query/Explain/GQB.

pgAdmin Build addition (Added new files)

* pgadmin/pgAdmin3.vcproj
* pgadmin/gqb/module.mk
* pgadmin/ctl/module.mk

I have tested this patch on linux (Ubuntu having libgnome installed), Window Vista and Mac 10.5.
I am having couple of problems with this patch.
1. On OSX (Mac):
   - If I see a print preview for any of Query/Explain/GQB, it works perfectly.
     But, when we close the Print-Preview dialog, the query dialog is not getting enabled.
     Something is missing, but I am not able to figure out the same.
2. On all the platforms:
   - If I call the new function updateModelSize(...), when we add new table to the model.
   - In this case, after selecting a table/view from the left size tree (browser), if I click couple of times (five-six times), then the program is getting crashed.
   - I tried to use the mutex/Semaphore, but it was still not working. :(
   (For the same reason, I have not added the updateModelSize(...) function, while creating/deleting a table/view, in this patch)
One more issue:
The text font in the GQB/Explain (Print/Print-Preview) does not look good. (fading a little bit)

Please help.

--
Thanks & Regards,
Ashesh Vashi

EnterpriseDB INDIA: http://www.enterprisedb.com

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Dave Page
Дата:
On Tue, Sep 1, 2009 at 10:33 AM, Ashesh Vashi
<ashesh.vashi@enterprisedb.com> wrote:
> Hi Team,
>
> Please find the WIP patch for "Printing Support in frmQuery
> (QueryBuilder/Graphical Query Builder(GQB)/Explain) & Save as an image".
>

So after 117 days of this sitting in my inbox, I finally got round to
testing it. Except, it won't compile because the patch is missing
ctl/queryPrintout.cpp (and presumably a corresponding header and
possible more files).

D'oh!

--
Dave Page
EnterpriseDB UK:   http://www.enterprisedb.com

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Guillaume Lelarge
Дата:
Le vendredi 18 septembre 2009 à 17:44:44, Dave Page a écrit :
> On Tue, Sep 1, 2009 at 10:33 AM, Ashesh Vashi
>
> <ashesh.vashi@enterprisedb.com> wrote:
> > Hi Team,
> >
> > Please find the WIP patch for "Printing Support in frmQuery
> > (QueryBuilder/Graphical Query Builder(GQB)/Explain) & Save as an image".
>
> So after 117 days of this sitting in my inbox, [...]

You mean *17* days, right? Not a hundred and 17 days? :)

I also wanted to look at this, but didn't find the time to do it.


--
Guillaume.
 http://www.postgresqlfr.org
 http://dalibo.com

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Dave Page
Дата:
On Sat, Sep 19, 2009 at 11:50 PM, Guillaume Lelarge
<guillaume@lelarge.info> wrote:
> Le vendredi 18 septembre 2009 à 17:44:44, Dave Page a écrit :
>> On Tue, Sep 1, 2009 at 10:33 AM, Ashesh Vashi
>>
>> <ashesh.vashi@enterprisedb.com> wrote:
>> > Hi Team,
>> >
>> > Please find the WIP patch for "Printing Support in frmQuery
>> > (QueryBuilder/Graphical Query Builder(GQB)/Explain) & Save as an image".
>>
>> So after 117 days of this sitting in my inbox, [...]
>
> You mean *17* days, right? Not a hundred and 17 days? :)

Err, yes :-)


--
Dave Page
EnterpriseDB UK:   http://www.enterprisedb.com

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Ashesh Vashi
Дата:
Hi All,

After a long time, I got some time to refine/correct the patch.

Please find the WIP patch for "Printing Support in frmQuery (QueryBuilder/Graphical Query Builder(GQB)/Explain) & Save as an image".

Modified/Added file list and explanation are given below:

Print support on Gtk (Linux)

* xtra/wx-build/build-wxgtk
  - We have to modify this script, added few new flags) to enable printing on Gtk.
  Please follow these links for more details:
  http://docs.wxwidgets.org/trunk/overview_unixprinting.html
  http://wiki.wxwidgets.org/Printing
  http://docs.wxwidgets.org/stable/wx_printingoverview.html

Print support/Save as an image in Explain window

* pgadmin/ctl/explainPrintout.
cpp (Added)
  - Definition for the new introduced class - ExplainPrintout
  - A helping class for support for the printing the explain
* pgadmin/gqb/gqbPrintout.cpp (Added)
  - Definition for the new introduced class - gqbPrintout
  - A helping class for support for the printing the GQB
* pgadmin/ctl/explainCanvas.cpp
* pgadmin/include/ctl/
explainCanvas.h
  - Added new function ExplainCanvas::SaveAsImage(
filename) to save Explain as an image (bmp for now)
  - Removed a unused variable lastShape

Print support for the Query window

* pgadmin/include/ctl/ctlSQLBox.
h
* pgadmin/include/frm/frmQuery.h
* pgadmin/include/gqb/
gqbViewController.h
* pgadmin/frm/frmQuery.cpp
* pgadmin/gqb/gqbController.cpp

Print support/Save as an image in GQB

* pgadmin/include/gqb/gqbEvents.
h
* pgadmin/include/gqb/
gqbGraphSimple.h
  - I had to use wxMemoryDC instead of wxBufferedDC to enable printing
* pgadmin/include/gqb/
gqbGraphBehavior.h
* pgadmin/gqb/gqbGraphSimple.cpp
* pgadmin/gqb/gqbView.cpp
  - Change the function definition drawAll(wxBufferedDB& bdc) to drawAll(wxMemoryDC& bdc, bool adjustScrolling)
  - Using the same function to draw on PrintDC/PrintPreviewDC and Canvas.
  - In case of PrintDC/PrintPreviewDC, we do not need this function to adjust the scrolling according to the canvas
  - Introduced a new variable modelSize to take care of the total size of the Model (Model consists of tables & Joins)
  - Introduced a new function updateModelSize(...) to update the model size on demand

Data/Project Initialization & new menu declaration

* pgadmin/include/frm/menu.h
* pgadmin/include/utils/
sysSettings.h
* pgadmin/pgAdmin3.cpp
- Initialize the Print objects for Query/Explain/GQB.

pgAdmin Build addition (Added new files)

* pgadmin/pgAdmin3.vcproj
* pgadmin/gqb/module.mk
* pgadmin/ctl/module.mk

I have tested this patch on linux (Ubuntu having libgnome installed), Window Vista and Mac 10.5.
I am having couple of problems with this patch.
1. On OSX (Mac):
   - If I see a print preview for any of Query/Explain/GQB, it works perfectly.
     But, when we close the Print-Preview dialog, the query dialog is not getting enabled.
     Something is missing, but I am not able to figure out the same.
2. On all the platforms:
   - If I call the new function updateModelSize(...), when we add new table to the model.
   - In this case, after selecting a table/view from the left size tree (browser), if I click couple of times (five-six times), then the program is getting crashed.
   - I tried to use the mutex/Semaphore, but it was still not working. :(
   (For the same reason, I have not added the updateModelSize(...) function, while creating/deleting a table/view, in this patch)

Can anybody please help on this?

--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA -
The Enterprise Postgres Company

"Make everything as simple as possible, but not simpler..." -- Albert Einstein
"We are what our thoughts have made us; so take care about what you think." -- Swami Vivekananda

Вложения

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Guillaume Lelarge
Дата:
Le mardi 17 novembre 2009 à 13:35:05, Ashesh Vashi a écrit :
> Hi All,
>
> After a long time, I got some time to refine/correct the patch.
>
> Please find the WIP patch for "Printing Support in frmQuery
> (QueryBuilder/Graphical Query Builder(GQB)/Explain) & Save as an image".
>

It doesn't apply cleanly:

guillaume@laptop:~/freeprojects/svn.pgadmin.org/trunk/pgadmin3.asheh$ patch -
Np0 < /home/guillaume/*.patch
patching file pgadmin/ctl/explainPrintout.cpp
patching file pgadmin/ctl/queryPrintout.cpp
patching file pgadmin/ctl/module.mk
patching file pgadmin/ctl/explainCanvas.cpp
patching file pgadmin/pgAdmin3.cpp
patching file pgadmin/include/ctl/explainCanvas.h
patching file pgadmin/include/ctl/ctlSQLBox.h
patching file pgadmin/include/frm/menu.h
patching file pgadmin/include/frm/frmQuery.h
patching file pgadmin/include/utils/sysSettings.h
patching file pgadmin/include/gqb/gqbEvents.h
patching file pgadmin/include/gqb/gqbGraphSimple.h
patching file pgadmin/include/gqb/gqbViewController.h
patching file pgadmin/include/gqb/gqbGraphBehavior.h
patching file pgadmin/frm/frmQuery.cpp
patching file pgadmin/pgAdmin3.vcproj
Hunk #1 FAILED at 416.
Hunk #2 FAILED at 3960.
2 out of 2 hunks FAILED -- saving rejects to file pgadmin/pgAdmin3.vcproj.rej
patching file pgadmin/gqb/gqbView.cpp
patching file pgadmin/gqb/gqbGraphSimple.cpp
patching file pgadmin/gqb/module.mk
Hunk #1 FAILED at 20.
Hunk #2 FAILED at 28.
2 out of 2 hunks FAILED -- saving rejects to file pgadmin/gqb/module.mk.rej
patching file pgadmin/gqb/gqbController.cpp
patching file pgadmin/gqb/gqbPrintout.cpp
patching file xtra/wx-build/build-wxgtk

Anyways, I can compile it on Linux. But the compile doesn't end well:

frmQuery.o: In function `frmQuery::OnPrintPreview(wxCommandEvent&)':
/home/guillaume/freeprojects/svn.pgadmin.org/trunk/pgadmin3.asheh/pgadmin/./frm/frmQuery.cpp:2656:
undefined reference to `ctlSQLBox::PrintPreview()'
/home/guillaume/freeprojects/svn.pgadmin.org/trunk/pgadmin3.asheh/pgadmin/./frm/frmQuery.cpp:2658:
undefined reference to `gqbView::PrintPreview()'
/home/guillaume/freeprojects/svn.pgadmin.org/trunk/pgadmin3.asheh/pgadmin/./frm/frmQuery.cpp:2660:
undefined reference to `ExplainCanvas::PrintPreview()'
frmQuery.o: In function `frmQuery::OnPrint(wxCommandEvent&)':
/home/guillaume/freeprojects/svn.pgadmin.org/trunk/pgadmin3.asheh/pgadmin/./frm/frmQuery.cpp:2666:
undefined reference to `ctlSQLBox::Print()'
/home/guillaume/freeprojects/svn.pgadmin.org/trunk/pgadmin3.asheh/pgadmin/./frm/frmQuery.cpp:2668:
undefined reference to `gqbView::Print()'
/home/guillaume/freeprojects/svn.pgadmin.org/trunk/pgadmin3.asheh/pgadmin/./frm/frmQuery.cpp:2670:
undefined reference to `ExplainCanvas::Print()'
collect2: ld returned 1 exit status


There are probably a #include missing or something like this. Something really
obvious. I don't have time to work on this right now because I'll begin a
training course in a couple of minutes. I just wanted you to know about these
issues.


--
Guillaume.
 http://www.postgresqlfr.org
 http://dalibo.com

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Ashesh Vashi
Дата:
Hi Guillaume,

On Thu, Nov 19, 2009 at 1:25 PM, Guillaume Lelarge <guillaume@lelarge.info> wrote:
Le mardi 17 novembre 2009 à 13:35:05, Ashesh Vashi a écrit :
> Hi All,
>
> After a long time, I got some time to refine/correct the patch.
>
> Please find the WIP patch for "Printing Support in frmQuery
> (QueryBuilder/Graphical Query Builder(GQB)/Explain) & Save as an image".
>

It doesn't apply cleanly:

guillaume@laptop:~/freeprojects/svn.pgadmin.org/trunk/pgadmin3.asheh$ patch -
Np0 < /home/guillaume/*.patch
patching file pgadmin/ctl/explainPrintout.cpp
patching file pgadmin/ctl/queryPrintout.cpp
patching file pgadmin/ctl/module.mk
patching file pgadmin/ctl/explainCanvas.cpp
patching file pgadmin/pgAdmin3.cpp
patching file pgadmin/include/ctl/explainCanvas.h
patching file pgadmin/include/ctl/ctlSQLBox.h
patching file pgadmin/include/frm/menu.h
patching file pgadmin/include/frm/frmQuery.h
patching file pgadmin/include/utils/sysSettings.h
patching file pgadmin/include/gqb/gqbEvents.h
patching file pgadmin/include/gqb/gqbGraphSimple.h
patching file pgadmin/include/gqb/gqbViewController.h
patching file pgadmin/include/gqb/gqbGraphBehavior.h
patching file pgadmin/frm/frmQuery.cpp
patching file pgadmin/pgAdmin3.vcproj
Hunk #1 FAILED at 416.
Hunk #2 FAILED at 3960.
2 out of 2 hunks FAILED -- saving rejects to file pgadmin/pgAdmin3.vcproj.rej
patching file pgadmin/gqb/gqbView.cpp
patching file pgadmin/gqb/gqbGraphSimple.cpp
patching file pgadmin/gqb/module.mk
Hunk #1 FAILED at 20.
Hunk #2 FAILED at 28.
2 out of 2 hunks FAILED -- saving rejects to file pgadmin/gqb/module.mk.rej
patching file pgadmin/gqb/gqbController.cpp
patching file pgadmin/gqb/gqbPrintout.cpp
patching file xtra/wx-build/build-wxgtk
That is because, the patch did not apply well to 'pgadmin/gqb/module.mk' file. :(
Please find the updated patch.

Anyways, I can compile it on Linux. But the compile doesn't end well:

frmQuery.o: In function `frmQuery::OnPrintPreview(wxCommandEvent&)':
/home/guillaume/freeprojects/svn.pgadmin.org/trunk/pgadmin3.asheh/pgadmin/./frm/frmQuery.cpp:2656:
undefined reference to `ctlSQLBox::PrintPreview()'
/home/guillaume/freeprojects/svn.pgadmin.org/trunk/pgadmin3.asheh/pgadmin/./frm/frmQuery.cpp:2658:
undefined reference to `gqbView::PrintPreview()'
/home/guillaume/freeprojects/svn.pgadmin.org/trunk/pgadmin3.asheh/pgadmin/./frm/frmQuery.cpp:2660:
undefined reference to `ExplainCanvas::PrintPreview()'
frmQuery.o: In function `frmQuery::OnPrint(wxCommandEvent&)':
/home/guillaume/freeprojects/svn.pgadmin.org/trunk/pgadmin3.asheh/pgadmin/./frm/frmQuery.cpp:2666:
undefined reference to `ctlSQLBox::Print()'
/home/guillaume/freeprojects/svn.pgadmin.org/trunk/pgadmin3.asheh/pgadmin/./frm/frmQuery.cpp:2668:
undefined reference to `gqbView::Print()'
/home/guillaume/freeprojects/svn.pgadmin.org/trunk/pgadmin3.asheh/pgadmin/./frm/frmQuery.cpp:2670:
undefined reference to `ExplainCanvas::Print()'
collect2: ld returned 1 exit status


There are probably a #include missing or something like this. Something really
obvious. I don't have time to work on this right now because I'll begin a
training course in a couple of minutes. I just wanted you to know about these
issues.

Вложения

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Guillaume Lelarge
Дата:
Le jeudi 19 novembre 2009 à 09:33:44, Ashesh Vashi a écrit :
> Hi Guillaume,
>
> On Thu, Nov 19, 2009 at 1:25 PM, Guillaume Lelarge
>
> <guillaume@lelarge.info>wrote:
> > Le mardi 17 novembre 2009 à 13:35:05, Ashesh Vashi a écrit :
> > > Hi All,
> > >
> > > After a long time, I got some time to refine/correct the patch.
> > >
> > > Please find the WIP patch for "Printing Support in frmQuery
> > > (QueryBuilder/Graphical Query Builder(GQB)/Explain) & Save as an
> > > image".
> >
> > It doesn't apply cleanly:
> >
> > guillaume@laptop:~/freeprojects/svn.pgadmin.org/trunk/pgadmin3.asheh$patc
> >h - Np0 < /home/guillaume/*.patch
> > patching file pgadmin/ctl/explainPrintout.cpp
> > patching file pgadmin/ctl/queryPrintout.cpp
> > patching file pgadmin/ctl/module.mk
> > patching file pgadmin/ctl/explainCanvas.cpp
> > patching file pgadmin/pgAdmin3.cpp
> > patching file pgadmin/include/ctl/explainCanvas.h
> > patching file pgadmin/include/ctl/ctlSQLBox.h
> > patching file pgadmin/include/frm/menu.h
> > patching file pgadmin/include/frm/frmQuery.h
> > patching file pgadmin/include/utils/sysSettings.h
> > patching file pgadmin/include/gqb/gqbEvents.h
> > patching file pgadmin/include/gqb/gqbGraphSimple.h
> > patching file pgadmin/include/gqb/gqbViewController.h
> > patching file pgadmin/include/gqb/gqbGraphBehavior.h
> > patching file pgadmin/frm/frmQuery.cpp
> > patching file pgadmin/pgAdmin3.vcproj
> > Hunk #1 FAILED at 416.
> > Hunk #2 FAILED at 3960.
> > 2 out of 2 hunks FAILED -- saving rejects to file
> > pgadmin/pgAdmin3.vcproj.rej
> > patching file pgadmin/gqb/gqbView.cpp
> > patching file pgadmin/gqb/gqbGraphSimple.cpp
> > patching file pgadmin/gqb/module.mk
> > Hunk #1 FAILED at 20.
> > Hunk #2 FAILED at 28.
> > 2 out of 2 hunks FAILED -- saving rejects to file
> > pgadmin/gqb/module.mk.rej patching file pgadmin/gqb/gqbController.cpp
> > patching file pgadmin/gqb/gqbPrintout.cpp
> > patching file xtra/wx-build/build-wxgtk
>
> That is because, the patch did not apply well to 'pgadmin/gqb/module.mk'
> file. :(
> Please find the updated patch.
>

You're right in the diagnostics, but your wrong patch is obviously wrong.
Anyways, I was able to compile (after I finally understood I needed the
libgnomeprintui library), run, and then test it. And it's really a great
addition to pgAdmin.

Two comments:

* the Explain menu for print preview/print/save as image should be disabled if
the explain is not already available (so that the user doesn't get a warning
message telling them they couldn't have the print of the explain).

* I don't like the location and the text of the item "SaveAs image". I think
it would be better to label it "Save As Image" (note the space between Save
and As). Its location should be just under the "Save As" item, probably mixed
with it (something like:

  Save As -> Query (text)
             Explain (image)
             GQB (image)

Anyways, nice work :)


--
Guillaume.
 http://www.postgresqlfr.org
 http://dalibo.com

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Ashesh Vashi
Дата:
Hi Guillaume,

On Sat, Nov 21, 2009 at 6:25 PM, Guillaume Lelarge <guillaume@lelarge.info> wrote:
Le jeudi 19 novembre 2009 à 09:33:44, Ashesh Vashi a écrit :

You're right in the diagnostics, but your wrong patch is obviously wrong.
Anyways, I was able to compile (after I finally understood I needed the
libgnomeprintui library), run, and then test it.
 
I've mentioned this in the first mail of this thead, that we need to have libgnomeprintui on linux. :(
And, for the same reason, I've modified the 'xtra/wx-build/build-wxgtk' file. :)

And it's really a great addition to pgAdmin.

 Thanks.


Two comments:

* the Explain menu for print preview/print/save as image should be disabled if
the explain is not already available (so that the user doesn't get a warning
message telling them they couldn't have the print of the explain).

* I don't like the location and the text of the item "SaveAs image". I think
it would be better to label it "Save As Image" (note the space between Save
and As). Its location should be just under the "Save As" item, probably mixed
with it (something like:

 Save As -> Query (text)
            Explain (image)
            GQB (image)
Sure, I will send ths updated patch soon.

Anyways, nice work :)

Thanks.

Facing couple of issues
, as described below:
1. On OSX (Mac):
   - If I see a print preview for any of Query/Explain/GQB, it works perfectly.
     But, when we close the Print-Preview dialog, the query dialog is not getting enabled.
     Something is missing, but I am not able to figure out.
2. On all the platforms:
   - If I call the new function updateModelSize(...), when we add new table to the model.
   - In this case, after selecting a table/view from the left size tree (browser), if I click couple of times (five-six times frequently) , then pgAdmin3 is crashing.
   - I tried to use the mutex/Semaphore, but it was still not working. :(
   (For the same reason, I have not added the updateModelSize(...) function, while creating/deleting a table/view, in this patch)
3. Resolution problem in GQB/Explain (Print/Print-Preview). It does not look good. The text is fading a little bit.)


Would you please help me on this?

--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA -
The Enterprise Postgres Company


"Make everything as simple as possible, but not simpler..." -- Albert Einstein
"We are what our thoughts have made us; so take care about what you think." -- Swami Vivekananda

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Guillaume Lelarge
Дата:
It seems I keep forgetting to answer you on this mail.

Le samedi 21 novembre 2009 à 19:51:07, Ashesh Vashi a écrit :
> [...]
> > Two comments:
> >
> > * the Explain menu for print preview/print/save as image should be
> > disabled if
> > the explain is not already available (so that the user doesn't get a
> > warning
> > message telling them they couldn't have the print of the explain).
> >
> > * I don't like the location and the text of the item "SaveAs image". I
> > think
> > it would be better to label it "Save As Image" (note the space between
> > Save and As). Its location should be just under the "Save As" item,
> > probably mixed
> > with it (something like:
> >
> >  Save As -> Query (text)
> >             Explain (image)
> >             GQB (image)
>
> Sure, I will send ths updated patch soon.
>

Do you have an updated patch available somewhere?

> > Anyways, nice work :)
>
> Thanks.
>
> Facing couple of issues, as described below:
> 1. On OSX (Mac):
>    - If I see a print preview for any of Query/Explain/GQB, it works
> perfectly.
>      But, when we close the Print-Preview dialog, the query dialog is not
> getting enabled.
>      Something is missing, but I am not able to figure out.
> 2. On all the platforms:
>    - If I call the new function updateModelSize(...), when we add new table
> to the model.
>    - In this case, after selecting a table/view from the left size tree
> (browser), if I click couple of times (five-six times frequently) , then
> pgAdmin3 is crashing.
>    - I tried to use the mutex/Semaphore, but it was still not working. :(
>    (For the same reason, I have not added the updateModelSize(...)
>  function, while creating/deleting a table/view, in this patch)
> 3. Resolution problem in GQB/Explain (Print/Print-Preview). It does not
>  look good. The text is fading a little bit.)
>
> Would you please help me on this?
>

Or you're probably waiting on me anwering these questions before working on
the new patch.

I can help you on these tonight. I should stop deffering this work. Are your
questions still current?


--
Guillaume.
 http://www.postgresqlfr.org
 http://dalibo.com

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Ashesh Vashi
Дата:
Hi Guillaume,

On Mon, Dec 7, 2009 at 1:29 PM, Guillaume Lelarge <guillaume@lelarge.info> wrote:
It seems I keep forgetting to answer you on this mail.

Le samedi 21 novembre 2009 à 19:51:07, Ashesh Vashi a écrit :
> [...]
> > Two comments:
> >
> > * the Explain menu for print preview/print/save as image should be
> > disabled if
> > the explain is not already available (so that the user doesn't get a
> > warning
> > message telling them they couldn't have the print of the explain).
> >
> > * I don't like the location and the text of the item "SaveAs image". I
> > think
> > it would be better to label it "Save As Image" (note the space between
> > Save and As). Its location should be just under the "Save As" item,
> > probably mixed
> > with it (something like:
> >
> >  Save As -> Query (text)
> >             Explain (image)
> >             GQB (image)
>
> Sure, I will send ths updated patch soon.
>

Do you have an updated patch available somewhere?
Not yet. :(

> > Anyways, nice work :)
>
> Thanks.
>
> Facing couple of issues, as described below:
> 1. On OSX (Mac):
>    - If I see a print preview for any of Query/Explain/GQB, it works
> perfectly.
>      But, when we close the Print-Preview dialog, the query dialog is not
> getting enabled.
>      Something is missing, but I am not able to figure out.
> 2. On all the platforms:
>    - If I call the new function updateModelSize(...), when we add new table
> to the model.
>    - In this case, after selecting a table/view from the left size tree
> (browser), if I click couple of times (five-six times frequently) , then
> pgAdmin3 is crashing.
>    - I tried to use the mutex/Semaphore, but it was still not working. :(
>    (For the same reason, I have not added the updateModelSize(...)
>  function, while creating/deleting a table/view, in this patch)
> 3. Resolution problem in GQB/Explain (Print/Print-Preview). It does not
>  look good. The text is fading a little bit.)
>
> Would you please help me on this?
>

Or you're probably waiting on me anwering these questions before working on
the new patch.

I can help you on these tonight. I should stop deffering this work. Are your
questions still current?
I was waiting for your answers on these questions, or anybody from the pgadmin-hackers group.
I have something else on my plate for right now. So, I am not able to spend time on this now-a-days. :(



--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA -
The Enterprise Postgres Company


"Make everything as simple as possible, but not simpler..." -- Albert Einstein
"We are what our thoughts have made us; so take care about what you think." -- Swami Vivekananda

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Dave Page
Дата:
On Mon, Dec 7, 2009 at 9:09 AM, Ashesh Vashi
<ashesh.vashi@enterprisedb.com> wrote:
>> I can help you on these tonight. I should stop deffering this work. Are
>> your
>> questions still current?
>
> I was waiting for your answers on these questions, or anybody from the
> pgadmin-hackers group.
> I have something else on my plate for right now. So, I am not able to spend
> time on this now-a-days. :(

Sorry - my fault. I'm hoping there should be some pgAdmin time for you
after your current task.

--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Guillaume Lelarge
Дата:
Hi Ashesh,

Le lundi 7 décembre 2009 à 10:09:52, Ashesh Vashi a écrit :
> > >[...]
> > > Would you please help me on this?
> >
> > Or you're probably waiting on me anwering these questions before working
> > on the new patch.
> >
> > I can help you on these tonight. I should stop deffering this work. Are
> > your
> > questions still current?
>
> I was waiting for your answers on these questions, or anybody from the
> pgadmin-hackers group.

My fault, sorry. I'll work on your patch tonight.


--
Guillaume.
 http://www.postgresqlfr.org
 http://dalibo.com

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Ashesh Vashi
Дата:
Hi Guillaume,


My fault, sorry. I'll work on your patch tonight.

I understand.
Here, everybody have some work with different priorities.

--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA -
The Enterprise Postgres Company


"Make everything as simple as possible, but not simpler..." -- Albert Einstein
"We are what our thoughts have made us; so take care about what you think." -- Swami Vivekananda

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Guillaume Lelarge
Дата:
Ashesh Vashi a écrit :
> Hi Guillaume,
>
>
>     My fault, sorry. I'll work on your patch tonight.
>
>
> I understand.
> Here, everybody have some work with different priorities.
>

I first tried on Linux and was unable to trigger the issues you're
talking about. I then tried on Mac OS X, no success either. I finally
tried on Windows, hoping that the Microsoft IDE will help me. Alas, all
I got were these error messages:

1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
__thiscall ExplainCanvas::PrintPreview(void)"
(?PrintPreview@ExplainCanvas@@QAEXXZ) referenced in function "private:
void __thiscall frmQuery::OnPrintPreview(class wxCommandEvent &)"
(?OnPrintPreview@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
__thiscall gqbView::PrintPreview(void)" (?PrintPreview@gqbView@@QAEXXZ)
referenced in function "private: void __thiscall
frmQuery::OnPrintPreview(class wxCommandEvent &)"
(?OnPrintPreview@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
__thiscall ctlSQLBox::PrintPreview(void)"
(?PrintPreview@ctlSQLBox@@QAEXXZ) referenced in function "private: void
__thiscall frmQuery::OnPrintPreview(class wxCommandEvent &)"
(?OnPrintPreview@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
__thiscall ExplainCanvas::Print(void)" (?Print@ExplainCanvas@@QAEXXZ)
referenced in function "private: void __thiscall frmQuery::OnPrint(class
wxCommandEvent &)" (?OnPrint@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
__thiscall gqbView::Print(void)" (?Print@gqbView@@QAEXXZ) referenced in
function "private: void __thiscall frmQuery::OnPrint(class
wxCommandEvent &)" (?OnPrint@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
__thiscall ctlSQLBox::Print(void)" (?Print@ctlSQLBox@@QAEXXZ) referenced
in function "private: void __thiscall frmQuery::OnPrint(class
wxCommandEvent &)" (?OnPrint@frmQuery@@AAEXAAVwxCommandEvent@@@Z)

I checked everything I could think of. But to no avail. I must be tired,
I really don't understand what's happening here. The linker can't find
some functions, but they are there. The only possibility I see is that I
don't have printing support on Windows, but I don't think so.

Any ideas on my issues?


--
Guillaume.

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Guillaume Lelarge
Дата:
Le lundi 7 décembre 2009 à 22:40:54, Guillaume Lelarge a écrit :
> Ashesh Vashi a écrit :
> > Hi Guillaume,
> >
> >
> >     My fault, sorry. I'll work on your patch tonight.
> >
> >
> > I understand.
> > Here, everybody have some work with different priorities.
>
> I first tried on Linux and was unable to trigger the issues you're
> talking about. I then tried on Mac OS X, no success either. I finally
> tried on Windows, hoping that the Microsoft IDE will help me. Alas, all
> I got were these error messages:
>
> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
> __thiscall ExplainCanvas::PrintPreview(void)"
> (?PrintPreview@ExplainCanvas@@QAEXXZ) referenced in function "private:
> void __thiscall frmQuery::OnPrintPreview(class wxCommandEvent &)"
> (?OnPrintPreview@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
> __thiscall gqbView::PrintPreview(void)" (?PrintPreview@gqbView@@QAEXXZ)
> referenced in function "private: void __thiscall
> frmQuery::OnPrintPreview(class wxCommandEvent &)"
> (?OnPrintPreview@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
> __thiscall ctlSQLBox::PrintPreview(void)"
> (?PrintPreview@ctlSQLBox@@QAEXXZ) referenced in function "private: void
> __thiscall frmQuery::OnPrintPreview(class wxCommandEvent &)"
> (?OnPrintPreview@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
> __thiscall ExplainCanvas::Print(void)" (?Print@ExplainCanvas@@QAEXXZ)
> referenced in function "private: void __thiscall frmQuery::OnPrint(class
> wxCommandEvent &)" (?OnPrint@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
> __thiscall gqbView::Print(void)" (?Print@gqbView@@QAEXXZ) referenced in
> function "private: void __thiscall frmQuery::OnPrint(class
> wxCommandEvent &)" (?OnPrint@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
> __thiscall ctlSQLBox::Print(void)" (?Print@ctlSQLBox@@QAEXXZ) referenced
> in function "private: void __thiscall frmQuery::OnPrint(class
> wxCommandEvent &)" (?OnPrint@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
>
> I checked everything I could think of. But to no avail. I must be tired,
> I really don't understand what's happening here. The linker can't find
> some functions, but they are there. The only possibility I see is that I
> don't have printing support on Windows, but I don't think so.
>
> Any ideas on my issues?
>

BTW, I tried to print a few explain, and they looked great. I'm gonna read
your patch now.


--
Guillaume.
 http://www.postgresqlfr.org
 http://dalibo.com


Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Guillaume Lelarge
Дата:
Le 07/12/2009 23:12, Guillaume Lelarge a écrit :
> Le lundi 7 décembre 2009 à 22:40:54, Guillaume Lelarge a écrit :
>> Ashesh Vashi a écrit :
>>> Hi Guillaume,
>>>
>>>
>>>     My fault, sorry. I'll work on your patch tonight.
>>>
>>>
>>> I understand.
>>> Here, everybody have some work with different priorities.
>>
>> I first tried on Linux and was unable to trigger the issues you're
>> talking about. I then tried on Mac OS X, no success either. I finally
>> tried on Windows, hoping that the Microsoft IDE will help me. Alas, all
>> I got were these error messages:
>>
>> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
>> __thiscall ExplainCanvas::PrintPreview(void)"
>> (?PrintPreview@ExplainCanvas@@QAEXXZ) referenced in function "private:
>> void __thiscall frmQuery::OnPrintPreview(class wxCommandEvent &)"
>> (?OnPrintPreview@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
>> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
>> __thiscall gqbView::PrintPreview(void)" (?PrintPreview@gqbView@@QAEXXZ)
>> referenced in function "private: void __thiscall
>> frmQuery::OnPrintPreview(class wxCommandEvent &)"
>> (?OnPrintPreview@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
>> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
>> __thiscall ctlSQLBox::PrintPreview(void)"
>> (?PrintPreview@ctlSQLBox@@QAEXXZ) referenced in function "private: void
>> __thiscall frmQuery::OnPrintPreview(class wxCommandEvent &)"
>> (?OnPrintPreview@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
>> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
>> __thiscall ExplainCanvas::Print(void)" (?Print@ExplainCanvas@@QAEXXZ)
>> referenced in function "private: void __thiscall frmQuery::OnPrint(class
>> wxCommandEvent &)" (?OnPrint@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
>> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
>> __thiscall gqbView::Print(void)" (?Print@gqbView@@QAEXXZ) referenced in
>> function "private: void __thiscall frmQuery::OnPrint(class
>> wxCommandEvent &)" (?OnPrint@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
>> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
>> __thiscall ctlSQLBox::Print(void)" (?Print@ctlSQLBox@@QAEXXZ) referenced
>> in function "private: void __thiscall frmQuery::OnPrint(class
>> wxCommandEvent &)" (?OnPrint@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
>>
>> I checked everything I could think of. But to no avail. I must be tired,
>> I really don't understand what's happening here. The linker can't find
>> some functions, but they are there. The only possibility I see is that I
>> don't have printing support on Windows, but I don't think so.
>>
>> Any ideas on my issues?
>>
>
> BTW, I tried to print a few explain, and they looked great. I'm gonna read
> your patch now.
>
>

Here is an updated patch. I fixed the two issues I noticed (menu always
enabled, and the menus' UI). I'll try to work more on it, but frankly
I'm not that good with drawing programs.


--
Guillaume.
 http://www.postgresqlfr.org
 http://dalibo.com

Вложения

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Dave Page
Дата:
On Thu, Apr 22, 2010 at 3:13 PM, Ashesh Vashi
<ashesh.vashi@enterprisedb.com> wrote:
> Hi,
> Please find the updated patch.

I meant to ask - does this require any non-standard wxWidgets options?

--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Ashesh Vashi
Дата:
Yeah..
It does require only in gtk.. (linux)
"--enable-printarch --with-gnomeprint"...
And, It requires "libgnomeprint" package to be installed on development machine...

--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise Postgres Company



On Thu, Apr 22, 2010 at 9:13 PM, Dave Page <dpage@pgadmin.org> wrote:
On Thu, Apr 22, 2010 at 3:13 PM, Ashesh Vashi
> Hi,
> Please find the updated patch.

I meant to ask - does this require any non-standard wxWidgets options?

--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Ashesh Vashi
Дата:
From the original mail:

Print support on Gtk (Linux)
* xtra/wx-build/build-wxgtk
  - We have to modify this script, added few new flags) to enable printing on Gtk.
  Please follow these links for more details:

--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise Postgres Company



On Thu, Apr 22, 2010 at 9:27 PM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote:
Yeah..
It does require only in gtk.. (linux)
"--enable-printarch --with-gnomeprint"...
And, It requires "libgnomeprint" package to be installed on development machine...

--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise Postgres Company



On Thu, Apr 22, 2010 at 9:13 PM, Dave Page <dpage@pgadmin.org> wrote:
On Thu, Apr 22, 2010 at 3:13 PM, Ashesh Vashi
> Hi,
> Please find the updated patch.

I meant to ask - does this require any non-standard wxWidgets options?

--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company


Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Dave Page
Дата:
On Thu, Apr 22, 2010 at 4:57 PM, Ashesh Vashi
<ashesh.vashi@enterprisedb.com> wrote:
> Yeah..
> It does require only in gtk.. (linux)
> "--enable-printarch --with-gnomeprint"...
> And, It requires "libgnomeprint" package to be installed on development
> machine...

That's a potential problem - we're at the mercy of the packagers on
most OS's and they may not have configured wxWidgets correctly for our
needs.

I think we need to make the printing feature conditional on whether
wxWidgets has been compiled appropriately, which probably needs a
configure test. If support for printing isn't there, then it needs to
build pgAdmin without those options.

Also - I noticed near the top of the patch that there were a few
strings that looked translatable which were wrapped in _T(). That
should be _() for translatable strings, or wxT() for non-translatable.

--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Ashesh Vashi
Дата:
Hi Dave,

On Thu, Apr 22, 2010 at 9:48 PM, Dave Page <dpage@pgadmin.org> wrote:
On Thu, Apr 22, 2010 at 4:57 PM, Ashesh Vashi
> Yeah..
> It does require only in gtk.. (linux)
> "--enable-printarch --with-gnomeprint"...
> And, It requires "libgnomeprint" package to be installed on development
> machine...

That's a potential problem - we're at the mercy of the packagers on
most OS's and they may not have configured wxWidgets correctly for our
needs.

I think we need to make the printing feature conditional on whether
wxWidgets has been compiled appropriately, which probably needs a
configure test. If support for printing isn't there, then it needs to
build pgAdmin without those options.

One of the reason, I have used macro  wxUSE_PRINTING_ARCHITECTURE provided by the wxWidgets.


Also - I noticed near the top of the patch that there were a few
strings that looked translatable which were wrapped in _T(). That
should be _() for translatable strings, or wxT() for non-translatable.
Sure.
I will send the updated patch. 

--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise Postgres Company


--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Ashesh Vashi
Дата:
Hi,

Please find the updated patch.

--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise Postgres Company



--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise Postgres Company



On Sat, Feb 13, 2010 at 4:50 PM, Guillaume Lelarge <guillaume@lelarge.info> wrote:
Le 07/12/2009 23:12, Guillaume Lelarge a écrit :
> Le lundi 7 décembre 2009 à 22:40:54, Guillaume Lelarge a écrit :
>> Ashesh Vashi a écrit :
>>> Hi Guillaume,
>>>
>>>
>>>     My fault, sorry. I'll work on your patch tonight.
>>>
>>>
>>> I understand.
>>> Here, everybody have some work with different priorities.
>>
>> I first tried on Linux and was unable to trigger the issues you're
>> talking about. I then tried on Mac OS X, no success either. I finally
>> tried on Windows, hoping that the Microsoft IDE will help me. Alas, all
>> I got were these error messages:
>>
>> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
>> __thiscall ExplainCanvas::PrintPreview(void)"
>> (?PrintPreview@ExplainCanvas@@QAEXXZ) referenced in function "private:
>> void __thiscall frmQuery::OnPrintPreview(class wxCommandEvent &)"
>> (?OnPrintPreview@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
>> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
>> __thiscall gqbView::PrintPreview(void)" (?PrintPreview@gqbView@@QAEXXZ)
>> referenced in function "private: void __thiscall
>> frmQuery::OnPrintPreview(class wxCommandEvent &)"
>> (?OnPrintPreview@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
>> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
>> __thiscall ctlSQLBox::PrintPreview(void)"
>> (?PrintPreview@ctlSQLBox@@QAEXXZ) referenced in function "private: void
>> __thiscall frmQuery::OnPrintPreview(class wxCommandEvent &)"
>> (?OnPrintPreview@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
>> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
>> __thiscall ExplainCanvas::Print(void)" (?Print@ExplainCanvas@@QAEXXZ)
>> referenced in function "private: void __thiscall frmQuery::OnPrint(class
>> wxCommandEvent &)" (?OnPrint@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
>> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
>> __thiscall gqbView::Print(void)" (?Print@gqbView@@QAEXXZ) referenced in
>> function "private: void __thiscall frmQuery::OnPrint(class
>> wxCommandEvent &)" (?OnPrint@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
>> 1>frmQuery.obj : error LNK2019: unresolved external symbol "public: void
>> __thiscall ctlSQLBox::Print(void)" (?Print@ctlSQLBox@@QAEXXZ) referenced
>> in function "private: void __thiscall frmQuery::OnPrint(class
>> wxCommandEvent &)" (?OnPrint@frmQuery@@AAEXAAVwxCommandEvent@@@Z)
>>
>> I checked everything I could think of. But to no avail. I must be tired,
>> I really don't understand what's happening here. The linker can't find
>> some functions, but they are there. The only possibility I see is that I
>> don't have printing support on Windows, but I don't think so.
>>
>> Any ideas on my issues?
>>
>
> BTW, I tried to print a few explain, and they looked great. I'm gonna read
> your patch now.
>
>

Here is an updated patch. I fixed the two issues I noticed (menu always
enabled, and the menus' UI). I'll try to work more on it, but frankly
I'm not that good with drawing programs.

Вложения

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Ashesh Vashi
Дата:
Sorry.. (The last patch has few lines missing from the original one...)
Please find the update patch..

--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise Postgres Company



On Thu, Apr 22, 2010 at 10:52 PM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote:
Please find the updated patch.


--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise Postgres Company



On Thu, Apr 22, 2010 at 10:18 PM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote:
Hi Dave,

On Thu, Apr 22, 2010 at 9:48 PM, Dave Page <dpage@pgadmin.org> wrote:
On Thu, Apr 22, 2010 at 4:57 PM, Ashesh Vashi
> Yeah..
> It does require only in gtk.. (linux)
> "--enable-printarch --with-gnomeprint"...
> And, It requires "libgnomeprint" package to be installed on development
> machine...

That's a potential problem - we're at the mercy of the packagers on
most OS's and they may not have configured wxWidgets correctly for our
needs.

I think we need to make the printing feature conditional on whether
wxWidgets has been compiled appropriately, which probably needs a
configure test. If support for printing isn't there, then it needs to
build pgAdmin without those options.

One of the reason, I have used macro  wxUSE_PRINTING_ARCHITECTURE provided by the wxWidgets.


Also - I noticed near the top of the patch that there were a few
strings that looked translatable which were wrapped in _T(). That
should be _() for translatable strings, or wxT() for non-translatable.
Sure.
I will send the updated patch. 

--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise Postgres Company


--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company



Вложения

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Ashesh Vashi
Дата:
Please find the updated patch.

--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise Postgres Company



On Thu, Apr 22, 2010 at 10:18 PM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote:
Hi Dave,

On Thu, Apr 22, 2010 at 9:48 PM, Dave Page <dpage@pgadmin.org> wrote:
On Thu, Apr 22, 2010 at 4:57 PM, Ashesh Vashi
> Yeah..
> It does require only in gtk.. (linux)
> "--enable-printarch --with-gnomeprint"...
> And, It requires "libgnomeprint" package to be installed on development
> machine...

That's a potential problem - we're at the mercy of the packagers on
most OS's and they may not have configured wxWidgets correctly for our
needs.

I think we need to make the printing feature conditional on whether
wxWidgets has been compiled appropriately, which probably needs a
configure test. If support for printing isn't there, then it needs to
build pgAdmin without those options.

One of the reason, I have used macro  wxUSE_PRINTING_ARCHITECTURE provided by the wxWidgets.


Also - I noticed near the top of the patch that there were a few
strings that looked translatable which were wrapped in _T(). That
should be _() for translatable strings, or wxT() for non-translatable.
Sure.
I will send the updated patch. 

--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise Postgres Company


--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company


Вложения

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Dave Page
Дата:
On Thu, Apr 22, 2010 at 7:20 PM, Ashesh Vashi
<ashesh.vashi@enterprisedb.com> wrote:
> Sorry.. (The last patch has few lines missing from the original one...)
> Please find the update patch..

I get this on OSX:

g++ -DHAVE_CONFIG_H -I. -I..   -I/usr/local/pgsql/include -DSSL
-I/usr/local/lib/wx/include/mac-unicode-debug-static-2.8
-I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES
-D__WXDEBUG__ -D__WXMAC__ -g -O0 -no-cpp-precomp -arch ppc -arch i386
-I/usr/local//include/libxml2 -I/usr/local/include
-I/usr/local//include/libxml2 -Wall -Wno-non-virtual-dtor
-fno-strict-aliasing -I../pgadmin/include   -c -o frmQuery.o `test -f
'./frm/frmQuery.cpp' || echo './'`./frm/frmQuery.cpp
./frm/frmQuery.cpp: In constructor ‘frmQuery::frmQuery(frmMain*, const
wxString&, pgConn*, const wxString&, const wxString&)’:
./frm/frmQuery.cpp:287: error: ‘pageMarginsMenu’ was not declared in this scope
./frm/frmQuery.cpp: In member function ‘void frmQuery::updateMenu(wxObject*)’:
./frm/frmQuery.cpp:1468: error: ‘pageMarginsMenu’ was not declared in this scope
./frm/frmQuery.cpp: In constructor ‘frmQuery::frmQuery(frmMain*, const
wxString&, pgConn*, const wxString&, const wxString&)’:
./frm/frmQuery.cpp:287: error: ‘pageMarginsMenu’ was not declared in this scope
./frm/frmQuery.cpp: In member function ‘void frmQuery::updateMenu(wxObject*)’:
./frm/frmQuery.cpp:1468: error: ‘pageMarginsMenu’ was not declared in this scope
lipo: can't figure out the architecture type of:
/var/folders/wn/wnM76L9ZF6agsFkWcNv6pk+++TI/-Tmp-//cco3pnd5.out
make[2]: *** [frmQuery.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2


--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Ashesh Vashi
Дата:
PFA

--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise Postgres Company



On Sat, Apr 24, 2010 at 1:17 AM, Dave Page <dpage@pgadmin.org> wrote:
On Thu, Apr 22, 2010 at 7:20 PM, Ashesh Vashi
> Sorry.. (The last patch has few lines missing from the original one...)
> Please find the update patch..

I get this on OSX:

g++ -DHAVE_CONFIG_H -I. -I..   -I/usr/local/pgsql/include -DSSL
-I/usr/local/lib/wx/include/mac-unicode-debug-static-2.8
-I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES
-D__WXDEBUG__ -D__WXMAC__ -g -O0 -no-cpp-precomp -arch ppc -arch i386
-I/usr/local//include/libxml2 -I/usr/local/include
-I/usr/local//include/libxml2 -Wall -Wno-non-virtual-dtor
-fno-strict-aliasing -I../pgadmin/include   -c -o frmQuery.o `test -f
'./frm/frmQuery.cpp' || echo './'`./frm/frmQuery.cpp
./frm/frmQuery.cpp: In constructor ‘frmQuery::frmQuery(frmMain*, const
wxString&, pgConn*, const wxString&, const wxString&)’:
./frm/frmQuery.cpp:287: error: ‘pageMarginsMenu’ was not declared in this scope
./frm/frmQuery.cpp: In member function ‘void frmQuery::updateMenu(wxObject*)’:
./frm/frmQuery.cpp:1468: error: ‘pageMarginsMenu’ was not declared in this scope
./frm/frmQuery.cpp: In constructor ‘frmQuery::frmQuery(frmMain*, const
wxString&, pgConn*, const wxString&, const wxString&)’:
./frm/frmQuery.cpp:287: error: ‘pageMarginsMenu’ was not declared in this scope
./frm/frmQuery.cpp: In member function ‘void frmQuery::updateMenu(wxObject*)’:
./frm/frmQuery.cpp:1468: error: ‘pageMarginsMenu’ was not declared in this scope
lipo: can't figure out the architecture type of:
/var/folders/wn/wnM76L9ZF6agsFkWcNv6pk+++TI/-Tmp-//cco3pnd5.out
make[2]: *** [frmQuery.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2


--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company

Вложения

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Dave Page
Дата:
Hi Ashesh,

On Fri, Apr 23, 2010 at 10:44 PM, Ashesh Vashi
<ashesh.vashi@enterprisedb.com> wrote:
> PFA

OK, this patch now compiles on the Mac. I think here are a few things
that need work

- The Save/Print options are not enabled when they should be. For
example, if I open the query tool, and run an Explain, I have to click
to the 'Data Output' tab and then back to the Explain tab before the
Save/Print options get enabled.

- Why are there separate options for Saving/Printing the EXPLAIN
output and GQB? As only one can be displayed at a time, we should have
just one set of options which apply to the visible image.

- The borders on saved images seem somewhat arbitrary. It would be
good to crop the image to a consistent border around the visible items
(say 25 or 50 pixels for example).

- If you click on a node in a plan and then save the image, the popup
info box isn't included.

FYI, I don't think the last two items are essential to fix before beta
1. The first two are though.

--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Dave Page
Дата:
Rats - hit send to soon.

One final issue - the Save Image option is only letting me save bitmap
image files. Any chance of JPEG/PNG as well? PNG would be the
preferred format and should be the default.

On Mon, Apr 26, 2010 at 1:48 PM, Dave Page <dpage@pgadmin.org> wrote:
> Hi Ashesh,
>
> On Fri, Apr 23, 2010 at 10:44 PM, Ashesh Vashi
> <ashesh.vashi@enterprisedb.com> wrote:
>> PFA
>
> OK, this patch now compiles on the Mac. I think here are a few things
> that need work
>
> - The Save/Print options are not enabled when they should be. For
> example, if I open the query tool, and run an Explain, I have to click
> to the 'Data Output' tab and then back to the Explain tab before the
> Save/Print options get enabled.
>
> - Why are there separate options for Saving/Printing the EXPLAIN
> output and GQB? As only one can be displayed at a time, we should have
> just one set of options which apply to the visible image.
>
> - The borders on saved images seem somewhat arbitrary. It would be
> good to crop the image to a consistent border around the visible items
> (say 25 or 50 pixels for example).
>
> - If you click on a node in a plan and then save the image, the popup
> info box isn't included.
>
> FYI, I don't think the last two items are essential to fix before beta
> 1. The first two are though.
>
> --
> Dave Page
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise Postgres Company
>



--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Ashesh Vashi
Дата:


On Mon, Apr 26, 2010 at 6:27 PM, Dave Page <dpage@pgadmin.org> wrote:
Rats - hit send to soon.

One final issue - the Save Image option is only letting me save bitmap
image files. Any chance of JPEG/PNG as well? PNG would be the
preferred format and should be the default.
Should be possible, but don't remember as I worked on this long back.
The current patch is just refactored patch  from the older patch.

--
Ashesh

On Mon, Apr 26, 2010 at 1:48 PM, Dave Page <dpage@pgadmin.org> wrote:
> Hi Ashesh,
>
> On Fri, Apr 23, 2010 at 10:44 PM, Ashesh Vashi
> <ashesh.vashi@enterprisedb.com> wrote:
>> PFA
>
> OK, this patch now compiles on the Mac. I think here are a few things
> that need work
>
> - The Save/Print options are not enabled when they should be. For
> example, if I open the query tool, and run an Explain, I have to click
> to the 'Data Output' tab and then back to the Explain tab before the
> Save/Print options get enabled.
>
> - Why are there separate options for Saving/Printing the EXPLAIN
> output and GQB? As only one can be displayed at a time, we should have
> just one set of options which apply to the visible image.
>
> - The borders on saved images seem somewhat arbitrary. It would be
> good to crop the image to a consistent border around the visible items
> (say 25 or 50 pixels for example).
>
> - If you click on a node in a plan and then save the image, the popup
> info box isn't included.
>
> FYI, I don't think the last two items are essential to fix before beta
> 1. The first two are though.
>
> --
> Dave Page
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise Postgres Company
>



--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Ashesh Vashi
Дата:
Hi Dave,

As discussed, I am not confident about the Printing support on Mac OSX.
It is working well on other platforms. In fact, Print Preview is also working good on OSX. But, It gives arbitrary results for the printing.. (The main feature of this patch.) :-(

I will need some more time investigating the exact issue.

As discussed, I m taking of the save as an image functionality from the patch and sending you the patch for the same with this.

I am feeling very disappointed, but I do not want to rush into the things and do not want to do things in hurry.

--
Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise Postgres Company


On Mon, Apr 26, 2010 at 6:18 PM, Dave Page <dpage@pgadmin.org> wrote:
Hi Ashesh,

On Fri, Apr 23, 2010 at 10:44 PM, Ashesh Vashi
> PFA

OK, this patch now compiles on the Mac. I think here are a few things
that need work

- The Save/Print options are not enabled when they should be. For
example, if I open the query tool, and run an Explain, I have to click
to the 'Data Output' tab and then back to the Explain tab before the
Save/Print options get enabled.

- Why are there separate options for Saving/Printing the EXPLAIN
output and GQB? As only one can be displayed at a time, we should have
just one set of options which apply to the visible image.

- The borders on saved images seem somewhat arbitrary. It would be
good to crop the image to a consistent border around the visible items
(say 25 or 50 pixels for example).

- If you click on a node in a plan and then save the image, the popup
info box isn't included.

FYI, I don't think the last two items are essential to fix before beta
1. The first two are though.

--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company

Вложения

Re: PATCH(WIP): Printing Support And Save GQB/Explain as an image

От
Dave Page
Дата:
On Thu, Apr 29, 2010 at 2:25 PM, Ashesh Vashi
<ashesh.vashi@enterprisedb.com> wrote:
> Hi Dave,
> As discussed, I am not confident about the Printing support on Mac OSX.
> It is working well on other platforms. In fact, Print Preview is also
> working good on OSX. But, It gives arbitrary results for the printing.. (The
> main feature of this patch.) :-(
> I will need some more time investigating the exact issue.
> As discussed, I m taking of the save as an image functionality from the
> patch and sending you the patch for the same with this.
> I am feeling very disappointed, but I do not want to rush into the things
> and do not want to do things in hurry.

Yeah, it's annoying but the right thing to do.

I've committed the patch as it is now, but please work on the
following fixes for the next beta:

- Only enable the Save Image menu options if there is something to
save. Accidently clicking the wrong one currently gives an annoying
'Nothing to save' message.

- Remember the file format selected by the user and use that as the
default the next time.

- Remember the last filename independently for the GQB and EXPLAIN output files.

Thanks!

--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company