lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [5999] Disable general print commands for censuses


From: Greg Chicares
Subject: [lmi-commits] [5999] Disable general print commands for censuses
Date: Sun, 26 Oct 2014 22:11:32 +0000

Revision: 5999
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5999
Author:   chicares
Date:     2014-10-26 22:11:32 +0000 (Sun, 26 Oct 2014)
Log Message:
-----------
Disable general print commands for censuses

Modified Paths:
--------------
    lmi/trunk/ChangeLog
    lmi/trunk/census_view.cpp
    lmi/trunk/census_view.hpp

Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2014-10-26 01:04:19 UTC (rev 5998)
+++ lmi/trunk/ChangeLog 2014-10-26 22:11:32 UTC (rev 5999)
@@ -34398,3 +34398,11 @@
   skeleton.hpp
 Override OnAssertFailure().
 
+20141026T2211Z <address@hidden> [532]
+
+  census_view.cpp
+  census_view.hpp
+Disable general print commands for censuses. See:
+  https://savannah.nongnu.org/support/?104490
+  http://lists.nongnu.org/archive/html/lmi/2014-10/msg00054.html
+

Modified: lmi/trunk/census_view.cpp
===================================================================
--- lmi/trunk/census_view.cpp   2014-10-26 01:04:19 UTC (rev 5998)
+++ lmi/trunk/census_view.cpp   2014-10-26 22:11:32 UTC (rev 5999)
@@ -65,9 +65,6 @@
 #include <iterator>
 #include <sstream>
 
-// TODO ?? Can't this macro be dispensed with?
-#define ID_LISTWINDOW 12345
-
 namespace
 {
 // TODO ?? Add description and unit tests; consider relocating,
@@ -803,7 +800,7 @@
 IMPLEMENT_DYNAMIC_CLASS(CensusView, ViewEx)
 
 BEGIN_EVENT_TABLE(CensusView, ViewEx)
-    EVT_DATAVIEW_ITEM_CONTEXT_MENU(ID_LISTWINDOW, CensusView::UponRightClick)
+    EVT_DATAVIEW_ITEM_CONTEXT_MENU(wxID_ANY ,CensusView::UponRightClick)
     EVT_MENU(XRCID("edit_cell"             ),CensusView::UponEditCell )
     EVT_MENU(XRCID("edit_class"            ),CensusView::UponEditClass)
     EVT_MENU(XRCID("edit_case"             ),CensusView::UponEditCase )
@@ -835,6 +832,12 @@
     EVT_UPDATE_UI(XRCID("delete_cells"         
),CensusView::UponUpdateNonemptySelection)
     EVT_UPDATE_UI(XRCID("column_width_varying" 
),CensusView::UponUpdateAlwaysEnabled)
     EVT_UPDATE_UI(XRCID("column_width_fixed"   
),CensusView::UponUpdateAlwaysEnabled)
+
+    // Disable these printing commands on the "File" menu: specialized
+    // printing commands are offered on the "Census" menu.
+    EVT_UPDATE_UI(wxID_PRINT                    
,CensusView::UponUpdateAlwaysDisabled)
+    EVT_UPDATE_UI(wxID_PREVIEW                  
,CensusView::UponUpdateAlwaysDisabled)
+    EVT_UPDATE_UI(wxID_PAGE_SETUP               
,CensusView::UponUpdateAlwaysDisabled)
 END_EVENT_TABLE()
 
 CensusView::CensusView()
@@ -951,7 +954,7 @@
 {
     list_window_ = new(wx) wxDataViewCtrl
         (GetFrame()
-        ,ID_LISTWINDOW
+        ,wxID_ANY
         ,wxDefaultPosition
         ,wxDefaultSize
         ,wxDV_ROW_LINES | wxDV_MULTIPLE
@@ -1358,14 +1361,27 @@
         }
 }
 
-void CensusView::UponRightClick(wxDataViewEvent&)
+void CensusView::UponRightClick(wxDataViewEvent& e)
 {
+    if(e.GetEventObject() != list_window_)
+        {
+        // This event should come only from the window pointed to by
+        // list_window_. Ignore it if it happens to come elsewhence.
+        e.Skip();
+        return;
+        }
+
     wxMenu* census_menu = wxXmlResource::Get()->LoadMenu("census_menu_ref");
     LMI_ASSERT(census_menu);
     list_window_->PopupMenu(census_menu);
     delete census_menu;
 }
 
+void CensusView::UponUpdateAlwaysDisabled(wxUpdateUIEvent& e)
+{
+    e.Enable(false);
+}
+
 void CensusView::UponUpdateAlwaysEnabled(wxUpdateUIEvent& e)
 {
     e.Enable(true);

Modified: lmi/trunk/census_view.hpp
===================================================================
--- lmi/trunk/census_view.hpp   2014-10-26 01:04:19 UTC (rev 5998)
+++ lmi/trunk/census_view.hpp   2014-10-26 22:11:32 UTC (rev 5999)
@@ -84,6 +84,7 @@
     void UponRunCase                (wxCommandEvent&);
     void UponRunCaseToSpreadsheet   (wxCommandEvent&);
     void UponRunCaseToGroupRoster   (wxCommandEvent&);
+    void UponUpdateAlwaysDisabled   (wxUpdateUIEvent&);
     void UponUpdateAlwaysEnabled    (wxUpdateUIEvent&);
     void UponUpdateSingleSelection  (wxUpdateUIEvent&);
     void UponUpdateNonemptySelection(wxUpdateUIEvent&);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]