Proposed fixes for the wxWindows joystick code under
MSW.
Some of these would be valid for other platforms, too.
Events for buttons are named wrong, docs say different.
Docs say EVT_JOY_BUTTON_DOWN and
EVT_JOY_BUTTON_UP,
but the code says EVT_JOY_DOWN and EVT_JOY_UP. I
suggest
changing the code to match the docs.
wxJoystick::GetNumberJoysticks() should be a static
member
function. Having to create a joystick object to see if there
are joysticks is silly.
Docs for GetNumberJoysticks() must be changed; it returns
the
number of potentially connected joysticks, not the number of
actually connected. Alternatively, GetNumberJoysticks() and
others must be rewritten to conform with documentation,
including
remapping of wxWindows sequential joystick ID's to match
MSW non-sequential joystick ID's.
dwSize is not set when joyGetPosEx() is called. SEVERE
ERROR.
Error return value from functions should not be a legal
return,
for instance, wxJoystick::GetPOVCTSPosition() returns 0
for error,
but this is a legal return value.
GetButtonState() supports only four (out of 32) buttons.
Also, should return as bitmap (LSB = button 1). (Win32
does this,
although not documented as such).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxClipboard fixes for GTK2 and UTF8.
wxFileConfig now uses wxConvLocal to convert text
and doesn't crash anymore..
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This allows changing the padding of the icons and text
in the tab of a wxNotebook for wxGTK.
Since the container in the tab is only a horizontal
container only the width component is used. Negative
values are acceptable so no checks were made.
It now defaults to a padding of 0 on the sides and 1 in
between the icon and label, looks good for a few
"themes" I tried.
Note: Unfortunately there is no function to set the
padding on the left or right side of a widget.
gtk_box_set_child_packing sets padding on BOTH sides of
a widget so you'd get double the spacing between an
icon and the label. To get around this, the icon (if
there was one) is removed and added back. That way the
icon will provide the padding on the left and the label
will provide the padding between and to the right. It
looks nice for all sizes. The
gtk_container_set_border_width unforuntately only adds
borders to ALL sides equally.
A simple check is to add m_notebook->SetPadding in one
in the spinctrl callback in the controls sample. (set
appropriate range too -10,20). Note that the tab sizes
change to fit the width of the panel, if appropriate,
and so the spacing between the icon and label changes
accordingly. This isn't a bug, but it does look weird
as you scan up and down the spacing (which nobody would
normally do).
I also changed all wxGtkNotebookPage variables to
nb_page so that "int page" would be used to mean the
page number. Just cosmetic for consistency with the
rest of the functions that were already like that.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The effect of wxDC::SetUserScale() on
wxDC::DrawRotatedText() is to scale the text **twice**.
The code is in src/gtk/dcclient.cpp
The first scaling operation occurs when choosing the
GTK font size (as happens for wxDC::DrawText()). The
rotated text is scaled a second time when blitting the
rotated text bitmap to the DC, in the functions
XLOG2DEV(x + dstX) and YLOG2DEV(y + dstY).
The supplied patch moves the rotated bitmap co-ords
(dstX, dstY) outside of the LOG2DEV functions.
bryan cole (bryancole)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16410 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The current wxSlider - implementation gives a gtk-warning
about not being able to find an event handler. This is
because the first call of GtkEnableEvents has to happen a
few lines earlier. The patch fixes this.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
GAddress_copy should copy truthfully, not mangle the result if things are
going badly. An earlier incarnation of the above.
Disable events before closing the socket, though just disabling them at all
will do. This was the cause of the nasty 'crash on fail to bind' behaviour
that people have been seeing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775