[pgadmin-hackers] Problems building pgAdmin with wxWidgets binaries for Windows

2013-02-09 Thread Kari Karkkainen
Hi,

I'm quite new to pgAdmin and wxWidgets, but since I never managed to build 
wxWidgets from source, I eventually found wxWidgets 2.9.4 binaries  
(http://wxwidgets.blogspot.fr/2012/08/how-to-use-294-wxmsw-binaries.html) which 
I'm now using to build pgAdmin3 1.16.1.

However, now I get a linker error saying "cannot open file 'wxbase28u.lib'" and 
I don't know where the problem is. I can find wxbase29u-lib in the directories 
and I assume it should be trying to link with that one...

Would really appreciate any help with this one - thanks.

KariK

Re: [pgadmin-hackers] Problems building pgAdmin with wxWidgets binaries for Windows

2013-02-09 Thread Kari Karkkainen
Hi Florian,

Thanks a lot for your quick and detailed response.

Yes, I followed those pgAdmin building instructions from the INSTALL file. But 
I struggled (including discovering that vcbuild has been replaced with msbuild 
with incompatible switches...) with that stuff for a couple of days and gave 
up, and was hoping the wxWidgets binaries+headers would be the way to go. I am 
getting much further with this approach but still failing at the end.

I'm using Visual Studio 2010 Professional (running on 64bit Win 7); not sure if 
that is a problem. I have noticed that at wxWiki 
(http://wiki.wxwidgets.org/Microsoft_Visual_C%2B%2B_Guide) they recommend using 
VC++ 2008 Express edition which, as you pointed out, is not so easy to find 
anymore. 

But as I said, currently my build fails since 'wxbase28u.lib' is not there. 
However, 'wxbase29u.lib' is there (because I'm using the 2.9.4 binaries, I 
assume), but I just don't know why the linker is looking for the 28 version and 
not the 29 version, and how to change this...

KariK



____
 From: Florian Klaar 
To: Kari Karkkainen  
Cc: "pgadmin-hackers@postgresql.org"  
Sent: Sunday, February 10, 2013 2:40 AM
Subject: Re: [pgadmin-hackers] Problems building pgAdmin with wxWidgets 
binaries for Windows
 

Hi Kari,

I assume you followed the instructions from pgadmin.org?
http://git.postgresql.org/gitweb/?p=pgadmin3.git;a=blob;f=INSTALL;h=b8ec1a51fd877efc1be701f4ed938b92daf219fc;hb=REL-1_16_0_PATCHES
I was struggling with wxWidgets on Windows as well since the
instructions didn't seem to work with my installation of VC++ 2010
Express. I'm no expert on this, but my guess is that it'll still be
easier to get wxWidgets 2.8 to work than make pgAdmin compile with
version 2.9.
You didn't mention which version of Visual C++ you are using, but I
wanted to use the Express edition and ended up having to install
both VC 2008 Express and 2010 Express to make the supplied
build-wxmsw.bat work and at as well be able to open the pgAdmin
solution file.

My rather clumsy and trial-and-error-driven approach was (from
memory):
- Use VC 2008 Express to execute pgAdmin's supplied build-wxmsw.bat,
since VC 2010 Express doesn't seem to include vcbuild.exe any more.
However, 2008's vcbuild.exe didn't recognize wxWidget's .dsp files
as project files (the error message was something like "make sure
the file is from VC++4 or newer bla"), so I opened all the needed
.dsp files one by one in VC 2008 Express using File -> Open ->
Project (NOT File -> Open -> File!). For each project file, VC
asked to upgrade it, which I confirmed, causing VC to kindly
generate a .vcproj file for the respective .dsp file. This is the
first part of what pgAdmin's build-wxmsw.bat was supposed to do.
- Then (still in VC 2008) I executed build-wxmsw.bat again in order
to build the binaries. Which worked, as far as I remember.
- Since pgAdmin's solution file is for version 2010, use VC 2010
Express to open it.

I also had to change a few of the project's include paths in order
for VC to find all the needed external libraries when compiling
pgAdmin, but that's no biggie. I also wasn't aware at the beginning
that I had to download the binary distributions of the libraries and
not the source packages. But that may be due to my general lack of
experience with these things.
Took me an evening to work all this out, but at least I learned
something new along the way.

Oh BTW, if you need to get VC++ 2008 Express from the web, make sure
the web installer you are using does indeed download version 2008
and not 2010. Microsoft seems to have replaced the old installer
with the new one in place, so many old links found on the web that
are labeled "2008" actually point to the 2010 installer now. This
was almost driving me nuts :-)

Hope this helps.
Florian

Re: [pgadmin-hackers] Problems building pgAdmin with wxWidgets binaries for Windows

2013-02-10 Thread Kari Karkkainen
Hi,

Thank you all, I'm making some progress. 

I think I sorted out the 2.8 vs 2.9 issue (by removing all wxWidgets 2.9 
libraries from "Additional Dependencies" under the Linker configuration), but 
now I cannot figure out why I get a bunch of these types of linking errors: 
"error LINKxxx: unresolved external symbol_PQxxx"

I'm guessing these are maybe due to the PostgreSQL libbq.lib not being linked 
with properly - any thoughts on this? 

KariK




 From: Dave Page 
To: Wahlstedt Jyrki  
Cc: Kari Karkkainen ; Florian Klaar 
; "pgadmin-hackers@postgresql.org" 
 
Sent: Sunday, February 10, 2013 3:21 PM
Subject: Re: [pgadmin-hackers] Problems building pgAdmin with wxWidgets 
binaries for Windows
 

In VC++ we have different build targets for wx2.9 (and, VC++ 2010 is supported 
- I use it all the time - it's just the wxmsw build script that hasn't been 
updated recently).



On Sun, Feb 10, 2013 at 7:42 AM, Wahlstedt Jyrki  wrote:

Hi,
>in configure phase (on other platforms, I haven't looked at Windows) there is 
>a setting:
>    --with-wx-version=2.9
>
>
>If you can find something similar, that might help.
>
>
>On 10.2.2013, at 9.12, Kari Karkkainen  wrote:
>
>Hi Florian,
>>
>>
>>Thanks a lot for your quick and detailed response.
>>
>>
>>Yes, I followed those pgAdmin building instructions from the INSTALL file. 
>>But I struggled (including discovering that vcbuild has been replaced with 
>>msbuild with incompatible switches...) with that stuff for a couple of days 
>>and gave up, and was hoping the wxWidgets binaries+headers would be the way 
>>to go. I am getting much further with this approach but still failing at the 
>>end.
>>
>>
>>I'm using Visual Studio 2010 Professional (running on 64bit Win 7); not sure 
>>if that is a problem. I have noticed that at wxWiki 
>>(http://wiki.wxwidgets.org/Microsoft_Visual_C%2B%2B_Guide) they recommend 
>>using VC++ 2008 Express edition which, as you pointed out, is not so easy to 
>>find anymore. 
>>
>>
>>But as I said, currently my build fails since 'wxbase28u.lib' is not there. 
>>However, 'wxbase29u.lib' is there (because I'm using the 2.9.4 binaries, I 
>>assume), but I just don't know why the linker is looking for the 28 version 
>>and not the 29 version, and how to change this...
>>
>>
>>KariK
>>
>>
>>
>
>
>
>!! Jyrki Wahlstedt
>!http://www.wahlstedt.fi/jyrki/
>!
>! Our life is no dream; but it ought to become one and perhaps will.
>! PGP key ID: 0x139CC386 fingerprint: F355 B46F 026C B8C1 89C0  A780 6366 EFD9 
>139C C386
>
>
> 
>


-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: [pgadmin-hackers] Problems building pgAdmin with wxWidgets binaries for Windows

2013-02-10 Thread Kari Karkkainen
Hi,

Just wanted to let you know that I was now finally able to build pgAdmin 1.16.1 
sources with wxWidgets 2.9.4 binaries using VS 2010 Professional. The issue 
with unresolved PQ symbols seemed to have been caused by a mismatch between 
32bit and 64bit versions; I was wanting to build a 32bit pgAdmin target but had 
used the EnterpriseDB installer only for a 64bit PostgreSQL.

Dave, to be able to build with the pre-built wxWidgets binaries, I had to tweak 
the linker configuration according to these instructions:
http://wxwidgets.blogspot.fr/2012/08/how-to-use-294-wxmsw-binaries.html


KariK



 From: Dave Page 
To: Kari Karkkainen  
Cc: Wahlstedt Jyrki ; Florian Klaar ; 
"pgadmin-hackers@postgresql.org"  
Sent: Sunday, February 10, 2013 4:40 PM
Subject: Re: [pgadmin-hackers] Problems building pgAdmin with wxWidgets 
binaries for Windows
 

You shouldn't need to touch the linker config - just use the non-2.9 build 
targets. If you're hacking config options, you're almost certainly doing it 
wrong.

Unresolved PQ symbols indicate you don't have either the PostgreSQL libraries 
installed (I'd suggest using the EnterpriseDB installer as we know that'll 
work), or you don't have %PGDIR% pointing to the installation.



On Sun, Feb 10, 2013 at 1:46 PM, Kari Karkkainen  
wrote:

Hi,
>
>
>Thank you all, I'm making some progress. 
>
>
>I think I sorted out the 2.8 vs 2.9 issue (by removing all wxWidgets 2.9 
>libraries from "Additional Dependencies" under the Linker configuration), but 
>now I cannot figure out why I get a bunch of these types of linking errors: 
>"error LINKxxx: unresolved external symbol_PQxxx"
>
>
>I'm guessing these are maybe due to the PostgreSQL libbq.lib not being linked 
>with properly - any thoughts on this? 
>
>
>KariK
>
>
>
>
>
> From: Dave Page 
>To: Wahlstedt Jyrki  
>Cc: Kari Karkkainen ; Florian Klaar 
>; "pgadmin-hackers@postgresql.org" 
> 
>Sent: Sunday, February 10, 2013 3:21 PM
>
>Subject: Re: [pgadmin-hackers] Problems building pgAdmin with wxWidgets 
>binaries for Windows
> 
>
>
>In VC++ we have different build targets for wx2.9 (and, VC++ 2010 is supported 
>- I use it all the time - it's just the wxmsw build script that hasn't been 
>updated recently).
>
>
>
>On Sun, Feb 10, 2013 at 7:42 AM, Wahlstedt Jyrki  wrote:
>
>Hi,
>>in configure phase (on other platforms, I haven't looked at Windows) there is 
>>a setting:
>>    --with-wx-version=2.9
>>
>>
>>If you can find something similar, that might help.
>>
>>
>>On 10.2.2013, at 9.12, Kari Karkkainen  wrote:
>>
>>Hi Florian,
>>>
>>>
>>>Thanks a lot for your quick and detailed response.
>>>
>>>
>>>Yes, I followed those pgAdmin building instructions from the INSTALL file. 
>>>But I struggled (including discovering that vcbuild has been replaced with 
>>>msbuild with incompatible switches...) with that stuff for a couple of days 
>>>and gave up, and was hoping the wxWidgets binaries+headers would be the way 
>>>to go. I am getting much further with this approach but still failing at the 
>>>end.
>>>
>>>
>>>I'm using Visual Studio 2010 Professional (running on 64bit Win 7); not sure 
>>>if that is a problem. I have noticed that at wxWiki 
>>>(http://wiki.wxwidgets.org/Microsoft_Visual_C%2B%2B_Guide) they recommend 
>>>using VC++ 2008 Express edition which, as you pointed out, is not so easy to 
>>>find anymore. 
>>>
>>>
>>>But as I said, currently my build fails since 'wxbase28u.lib' is not there. 
>>>However, 'wxbase29u.lib' is there (because I'm using the 2.9.4 binaries, I 
>>>assume), but I just don't know why the linker is looking for the 28 version 
>>>and not the 29 version, and how to change this...
>>>
>>>
>>>KariK
>>>
>>>
>>>
>>
>>
>>
>>!! Jyrki Wahlstedt
>>!http://www.wahlstedt.fi/jyrki/
>>!
>>! Our life is no dream; but it ought to become one and perhaps will.
>>! PGP key ID: 0x139CC386 fingerprint: F355 B46F 026C B8C1 89C0  A780 6366 
>>EFD9 139C C386
>>
>>
>> 
>>
>
>
>
>-- 
>Dave Page
>Blog: http://pgsnake.blogspot.com
>Twitter: @pgsnake
>
>EnterpriseDB UK: http://www.enterprisedb.com
>The Enterprise PostgreSQL Company
>
>
>


-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

[pgadmin-hackers] Detecting mouse events in the SQL grid

2013-02-17 Thread Kari Karkkainen
Hi,

I'm trying to add some additional mouse event detection into the SQL grid, but 
I'm not succeeding. Besides pgAdmin, also wxWidgets is new to me, so I'm 
probably missing something obvious...

The grid was already detecting EVT_MOUSEWHEEL, so I tried to use that as my 
guideline:

In ctlSQLGrid.h for the ctlSQLGrid class I added two private functions on the 
bottom:
private:
void OnCopy(wxCommandEvent &event);
void OnMouseWheel(wxMouseEvent &event);
void OnMouseLeftDown(wxMouseEvent &event);
void OnMouseLeftUp(wxMouseEvent &event);

In ctlSQLGrid.cpp I added two events:
BEGIN_EVENT_TABLE(ctlSQLGrid, wxGrid)
EVT_MENU(MNU_COPY, ctlSQLGrid::OnCopy)
EVT_MOUSEWHEEL(ctlSQLGrid::OnMouseWheel)
EVT_LEFT_DOWN(ctlSQLGrid::OnMouseLeftDown)
EVT_LEFT_UP(ctlSQLGrid::OnMouseLeftUp)
END_EVENT_TABLE()

An then in ctlSQLGrid.cpp I defined the functions e.g. like this:
void ctlSQLGrid::OnMouseLeftUp(wxMouseEvent &event)
{
SetTotals();
}

However, I never hit these functions by clicking the mouse, and I don't 
understand why. Would really appreciate any advice.

Thanks,
KariK


Re: [pgadmin-hackers] Detecting mouse events in the SQL grid

2013-02-23 Thread Kari Karkkainen
Hi Guillaume,

No, I don't know if it is dealt with at the window level. I also thought that 
this could be the issue, i.e. that the event is intercepted and handled 
somewhere else, but I could not find out where that might be. Any advice?

Also, one (probably basic) thing is unclear to me: If I handle this mouse event 
(or most other input events), do I then prevent the event from being managed by 
its default handler, which maybe I need to invoke from my event handler to make 
sure no default behavior is missed?

Thanks,
KariK



 From: Guillaume Lelarge 
To: Kari Karkkainen  
Cc: pgadmin-hackers  
Sent: Saturday, February 23, 2013 4:50 PM
Subject: Re: [pgadmin-hackers] Detecting mouse events in the SQL grid
 
On Sun, 2013-02-17 at 12:21 -0800, Kari Karkkainen wrote:
> Hi,
> 
> I'm trying to add some additional mouse event detection into the SQL grid, 
> but I'm not succeeding. Besides pgAdmin, also wxWidgets is new to me, so I'm 
> probably missing something obvious...
> 
> The grid was already detecting EVT_MOUSEWHEEL, so I tried to use that as my 
> guideline:
> 
> In ctlSQLGrid.h for the ctlSQLGrid class I added two private functions on the 
> bottom:
> private:
> void OnCopy(wxCommandEvent &event);
> void OnMouseWheel(wxMouseEvent &event);
> void OnMouseLeftDown(wxMouseEvent &event);
> void OnMouseLeftUp(wxMouseEvent &event);
> 
> In ctlSQLGrid.cpp I added two events:
> BEGIN_EVENT_TABLE(ctlSQLGrid, wxGrid)
> EVT_MENU(MNU_COPY, ctlSQLGrid::OnCopy)
> EVT_MOUSEWHEEL(ctlSQLGrid::OnMouseWheel)
> EVT_LEFT_DOWN(ctlSQLGrid::OnMouseLeftDown)
> EVT_LEFT_UP(ctlSQLGrid::OnMouseLeftUp)
> END_EVENT_TABLE()
> 
> An then in ctlSQLGrid.cpp I defined the functions e.g. like this:
> void ctlSQLGrid::OnMouseLeftUp(wxMouseEvent &event)
> {
> SetTotals();
> }
> 
> However, I never hit these functions by clicking the mouse, and I don't 
> understand why. Would really appreciate any advice.
> 

Are you sure it's not already dealt with at the window level?


-- 
Guillaume
http://blog.guillaume.lelarge.info
http://www.dalibo.com



-- 
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers