Commit Graph

1467 Commits

Author SHA1 Message Date
Paul Cornett
081d8d96db Move wxColourData and wxFontData into separate files.
This eliminates a linking dependency that would drag in the printing
code for any program that used wxColourDialog or wxFontDialog (which
is currently all of them, due to more link dependencies...)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 05:26:57 +00:00
Robert Roebling
9fc221aa81 Support diabling items in GTK+, see #12686: Allow disabling of wxDVC items
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-19 19:43:46 +00:00
Paul Cornett
96a3acb72c remove const from by-value return type, it's useless
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66180 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-17 05:57:21 +00:00
Vadim Zeitlin
7bc0ff8672 Correct form of mnemonics returned by wxGTK wxMenu::GetTitle().
wxMenu::GetTitle() returned a string in GTK+ format (i.e. using underscores
instead of ampersands) instead of the expected wx one.

This is, of course, the right thing to do and it also fixes
wxMenuBar::FindMenuItem() as a side effect.

Closes #12672.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-16 22:38:53 +00:00
Vadim Zeitlin
09e744f552 Don't duplicate event sending code in wxGTK wxListBox.
Reuse wxListBoxBase::SetEvent() instead of duplicating its code in wxGTK.

Also get rid of the code checking for selection of the item with index -1:
this can't happen any more since r65865 which changed GTK_SELECTION_SINGLE to
GTK_SELECTION_BROWSE.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65936 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-27 23:22:00 +00:00
Vadim Zeitlin
24ee1bef74 Don't send SELECTED events for an already selected item in wxGTK wxListBox.
Bring wxGTK in line with wxMSW behaviour and avoid sending the
wxEVT_COMMAND_LISTBOX_SELECTED events when the user clicks on an already
selected item.

Refactor wxMSW code to extract the logic to avoid such events into a reusable
in other ports wxListBoxBase::DoChangeSingleSelection() function. Also add
wxListBox::GTKOnSelectionChanged() to wxGTK to avoid having to make the new
function public just so that it could be called by GTK callback and make the
previously existing CalcAndSendEvent() protected as well.

This fixes a unit test failure in ListBoxTestCase::ClickEvents() under wxGTK.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-27 23:21:55 +00:00
Vadim Zeitlin
681be2ef80 Refactor: use wxBookCtrlBase::m_selection in all derived classes.
All book control classes with the exception of wxGTK wxNotebook stored the
currently selected page in m_selection or m_nSelection (or, in wxUniv
wxNotebook case, m_sel) variable. Remove all of them and add m_selection
directly to the base class itself so that it can be reused everywhere.

Closes #12622.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-27 16:54:36 +00:00
Vadim Zeitlin
7e837615b9 No real changes, just replace -1 with wxNOT_FOUND in wxBookCtrl code.
Make the code consistently use wxNOT_FOUND instead of -1 everywhere.

See #12622.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-27 16:54:24 +00:00
Vadim Zeitlin
820ec9bbc2 Correctly initialize wxGtkPrintNativeData members.
In particular, create a valid GtkPrintOperation object instead of using an
uninitialized pointer to it in wxGtkPrintDialog::ShowModal(), resulting in
crashes or, at best, GTK errors.

Closes #12483.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65828 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-16 18:11:15 +00:00
Vadim Zeitlin
bce926c580 Add "GTK" prefix to wxChoice::{Dis,En}ableEvents() methods in wxGTK.
This is more than a cosmetic change: adding "GTK" prefix in wxComboBox and not
doing it in wxChoice in r64436 broke the event generation for wxComboBox as it
didn't override wxChoice methods any longer but defined its own (useless) ones.

Using the same name for the methods in both classes notably fixes unexpected
event generation from wxComboBox::SetSelection().

Closes #12568.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65818 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-15 23:46:32 +00:00
Vadim Zeitlin
ce00f59b5b No changes whatsoever, just remove trailing whitespace.
There are no real changes in this commit but it removes all trailing white
space from our source files. This avoids problems when applying patches and
making diffs and it would be nice to prevent it from reappearing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-30 11:44:45 +00:00
Vadim Zeitlin
59b7da02ff Return wxFONTFAMILY_DEFAULT, not UNKNOWN, from wxFont::GetFamily().
Although returning wxFONTFAMILY_UNKNOWN when the font family is not recognized
makes more sense, it breaks a lot of existing code including all the
font-related code generated by DialogBlocks, so prefer to return
wxFONTFAMILY_DEFAULT instead -- which can't be confused for a valid font
family neither but can be passed to wxFont ctor or SetFamily() without
problems.

To ensure that this behaviour is correctly implemented by all ports, rename
the existing wxFont::GetFamily() to DoGetFamily() and call the new method from
wxFontBase::GetFamily() which adjusts the return value if needed.

Closes #12330.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65670 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-29 13:46:09 +00:00
Robert Roebling
3f53dd3a2f Postpone EnsureVisible() to idle as this sometimes seems to be required, fixes #12480: wxDataViewCtrl::EnsureVisible does not make item visible in some
circumstances on GTK

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-17 19:07:02 +00:00
Robert Roebling
673810eeb8 Moved more code from wxDataViewCtrl to wxDataViewCtrlInternal.
Add new special API for wxDataViewVirtualIndexModel::Reset() as
wxDataViewModel::Clear is something different and needs a different, two
step API under GTK+, one for destroying the current view and one for
rereading the new contents.
Added ::BeforeReset() and ::AfterReset() notifications for that purpose.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-12 20:07:28 +00:00
Robert Roebling
625ed74301 Make sorting of wxListBox, wxChoice and wxComboBox identical to the MSW sorting
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-24 17:06:15 +00:00
Robert Roebling
c9248ddbef make Set/GetLabel() set and return something (albeit unused) as per the docs, fixes #12350: wxWindow Get/SetLabel non-functional in GTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65374 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-21 09:54:30 +00:00
Robert Roebling
a03b38ef68 make Set/GetLabel() set and return title in wxTLW, fixes #12371: Dialog::GetLabel() Inconsistent behaviour across operating systems
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65373 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-21 09:53:25 +00:00
Vadim Zeitlin
8908317871 Compilation fix for STL build in wxGtkCollatableString code.
Include wx/string.h to define wxString used by this class.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65357 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-19 00:06:17 +00:00
Vadim Zeitlin
ede7b01760 Provide a task-dialog based wxMSW wxMessageDialog implementation.
Use the task dialog instead of the legacy message box for wxMessageDialog
implementation under wxMSW on recent (Vista and later) Windows versions.

As part of this change, remove wxMessageDialogWithCustomLabels and integrate
its functionality in wxMessageDialogBase itself as it's now used by all
platforms.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-18 22:48:28 +00:00
Robert Roebling
c272f12ff0 make wxChoice and wxComboBox sort in a case insensitive and locale adapted way, fixes #12351: Incorrect sort order in wxChoice / wxComboBox
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-18 21:29:53 +00:00
Robert Roebling
9572bf1d44 Ignore non-existant string selection in wxComboBox::SetValue() in read-only mode, as per the very exact docs, fixes #12329: wxComboBox can set non-existing string in read only mode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65324 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-16 17:48:28 +00:00
Vadim Zeitlin
80ce465c64 Add wxDataViewCtrl::{Set,Get}CurrentItem().
Current item is the same as the selected item in single selection mode but in
multiple selection mode there was no way to neither get this item nor change
it before so add the new functions to allow doing this now.

The new methods are implemented for the generic, GTK and OS X/Cocoa versions
but only stubs are provided for OS X/Carbon.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65228 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-10 12:53:03 +00:00
Vadim Zeitlin
62e9285aba Add name argument to wxDataViewCtrl ctor for consistency.
As all the other wxWidgets controls take the parameter in their ctor/Create()
it's unexpected that wxDataViewCtrl does not. Add the name parameter and pass
it to wxWindowBase::CreateBase() as usual.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65215 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-08 11:37:57 +00:00
Vadim Zeitlin
17d98558b3 Add wxDataViewCtrl::GTKPathToItem() function and use it.
No real changes, just refactor the code to use a function mapping GtkTreeIter
to our wxDataViewItem and use it instead of duplicating its code everywhere.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65211 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-08 11:37:37 +00:00
Vadim Zeitlin
526954c596 Globally use "wxWindows licence" consistently.
Use "wxWindows licence" and not "wxWidgets licence" (the latter doesn't
exist) and consistently spell "licence" using British spelling.

See #12165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-13 13:29:13 +00:00
Vadim Zeitlin
b526f9d64d Fix text updated event generation in wxGTK wxComboBox.
The changes (cosmetic renaming, no less) in r64436 broke unit tests checking
for wxComboBox event generation because the extra text updated events were not
suppressed correctly any longer because wrong {Enable,Disable}Events() were
called instead of the correct GTK{Enable,Disable}Events().

Fix and slightly improve the code by disabling the events in overridden
EnableTextChangedEvents() itself and reuse its code from GTK-specific event
enabling functions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64916 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-12 22:50:14 +00:00
Vadim Zeitlin
b35549525f Implement wxWindow::DoGetBorderSize() for all ports.
Implement DoGetBorderSize() properly for wxGTK and use the difference between
the full window size and the client size for all the ports not implementing
this method. The latter is incorrect in the presence of the scrollbars but is
the best we can do in general.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-11 10:43:49 +00:00
Robert Roebling
dec7b5a808 Use GTKXXX notation for some more wxGTK specific methods for consistency
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 17:45:40 +00:00
Paul Cornett
375efc1fce Remove pizza backing window.
When it is present, no-window widgets sometimes don't get expose events for
reasons I could not determine. And it is dubious that it improved scrolling
performance on modern hardware anyway, and almost certainly doesn't help now
that GTK+ is using "client side windows".


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64431 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 06:38:28 +00:00
Vadim Zeitlin
6305f044a1 Add "filter changed" event to wxFileCtrl.
Generate an event when the selection in the filter combobox of wxFileCtrl
changes.

Closes #12099.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-29 10:35:47 +00:00
Robert Roebling
c2246a3881 Applied patch, fixes #12090: wxGTK cursor handling revamp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-26 17:37:55 +00:00
Robert Roebling
65887bd0f1 Second try to get wxDataViewChoiceByIndex and its name right, hopefully fixes #11970: wxDataViewChoiceRenderer set/get methods should use the current selection
index not a string

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-21 20:13:49 +00:00
Robert Roebling
f4fcd64832 Part II of: Add GetChoice() and GetChoices() getters to all choice renderers and actually mention it in the docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-16 15:29:35 +00:00
Václav Slavík
690ddfec6e Integrate with GNOME's Recent Documents menu.
GTK+ provides GtkRecentManager for this purpose since 2.10. Use it in
wxFileHistory if available. Integration is simple, we just add a file to
GtkRecentManager in addition to normal wxFileHistory handling.

A well-behaved GNOME application would use GtkRecentManager as the
primary store for recent files, so that it reflects when the user works
with supported files in another editor(s) too. But for now, this is much
better than no support at all.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64240 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-07 06:45:48 +00:00
Vadim Zeitlin
742df99230 Move wxInfoBar to core library from adv.
This is necessary in order to be able to use it in the print preview (an
upcoming change).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64213 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-05 12:20:08 +00:00
Francesco Montorsi
b1153ed60f no real change: just fix RCS-ID so that it reflects the current revision number
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64140 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-25 21:33:16 +00:00
Vadim Zeitlin
6abf7b639c Don't use invoking window in wxGTK wxMenuBar implementation.
wxGTK wxMenuBar used its own SetInvokingWindow/UnsetInvokingWindow() and
related functions instead of reusing the base class Attach/Detach() which
exist for exactly the same purpose. This resulted in unnecessary code
duplication and confusion and, since the changes of r64104, resulted in
asserts due to use of SetInvokingWindow() for non-popup menus.

Fix this by removing the wxGTK-specific functions and doing the work they used
to do in (now overridden) Attach() and Detach(). Also call Attach/Detach()
instead of these functions from wxGTK wxFrame and wxMDIParentFrame code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-24 15:08:00 +00:00
Vadim Zeitlin
6ea0139862 No real changes, just remove empty wxMenuBar dtor in wxGTK.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-24 15:07:47 +00:00
Paul Cornett
38442edb48 Remove unnecessary declarations.
Contrary to the comment, they are not used often, in fact only once each
and in the same file.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63805 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-30 16:14:11 +00:00
Paul Cornett
f089940f68 Reverse hierarchy of wxPizza GdkWindows
widget->window must be topmost in order for GTK+ to calculate DND drop coordinates correctly
fixes #11834


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63775 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-29 01:16:06 +00:00
Vadim Zeitlin
27297c823a Implement wxMask copy ctor for wxGTK.
Without copy ctor copying masks simply crashed because the same pointer was
deleted twice.

Also added a (completely trivial but better than nothing...) unit test for
wxBitmap to check that copying masks does work now.

Closes #11854.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63774 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-28 23:20:49 +00:00
Paul Cornett
d26cb76b58 better fix for #11803, don't set iconized state for hidden window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-23 17:58:03 +00:00
Paul Cornett
3c7620f666 ignore iconized state when computing client size for GetBestSize(), fixes #11803
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-23 17:19:02 +00:00
Vadim Zeitlin
459128ac88 Initialize picker style in native GTK file/dir pickers.
This fixes the styles used in the native wxGTK version after changes in
r63654: we must initialize base class m_pickerStyle now and the code didn't do
this before resulting in various asserts and incorrect behaviour.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63690 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-16 00:23:57 +00:00
Vadim Zeitlin
d1d1f8175d Add wxComboBox::Popup() and Dismiss() to manually show or hide its popup.
Add implementations for wxMSW and wxGTK.

Closes #11506.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-24 01:00:45 +00:00
Paul Cornett
31f4ed4aa3 remove unused function GetGdkVisual()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63091 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-07 18:30:18 +00:00
Paul Cornett
06497cba66 defer creating bitmap representation until it is needed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63090 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-07 18:16:45 +00:00
Vadim Zeitlin
9067c6c537 Take into account the initial buttons state when creating wxGTK toolbar.
With wxMSW it is possible to call e.g. wxToolBarTool::Enable(false) on a tool
before calling wxToolBar::Realize() to create the tool in an initially
disabled state but this wasn't done in wxGTK version.

Override Realize() now under wxGTK to bring the native toolbar buttons state
in sync with the internal state of the corresponding wxToolBarTools.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-26 16:36:39 +00:00
Vadim Zeitlin
0b83552acf Rename gtk{,1}/tbargtk.{h,cpp} to toolbar.{h,cpp}.
We don't use crptknm$port.cpp naming convention even for MSW any more and
there is really no reason to continue to do it for just this one file in
wxGTK.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62849 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-10 03:04:07 +00:00
Paul Cornett
65391c8ffc minor cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-05 19:57:58 +00:00