Changeset 218
- Timestamp:
- 06/10/06 19:50:31 (2 years ago)
- Location:
- trunk
- Files:
-
- 9 modified
-
src/IPrintView.h (modified) (1 diff)
-
src/PrintPter.cxx (modified) (1 diff)
-
src/PrintPter.h (modified) (1 diff)
-
src/gtk/PrintView.cxx (modified) (6 diffs)
-
src/gtk/PrintView.h (modified) (1 diff)
-
tests/DumbPrintView.cxx (modified) (3 diffs)
-
tests/DumbPrintView.h (modified) (2 diffs)
-
tests/PrintPterTest.cxx (modified) (1 diff)
-
tests/PrintPterTest.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/IPrintView.h
r217 r218 70 70 71 71 /// 72 /// @brief Check is the "All Pages" range option is selected. 73 /// 74 /// @return TRUE if the range's "All Pages" option is selected. 75 /// FALSE otherwise. 76 /// 77 virtual gboolean isSelectedAllPagesRangeOption (void) = 0; 78 79 /// 72 80 /// @brief Changes the sensitivity of the "Collate" option. 73 81 /// -
trunk/src/PrintPter.cxx
r217 r218 72 72 73 73 void 74 PrintPter::pageRangeOptionChanged () 75 { 76 IPrintView &view = getView (); 77 if ( view.isSelectedAllPagesRangeOption () ) 78 { 79 view.sensitivePageRange (FALSE); 80 } 81 else 82 { 83 view.sensitivePageRange (TRUE); 84 } 85 } 86 87 void 74 88 PrintPter::printActivated (void) 75 89 { -
trunk/src/PrintPter.h
r217 r218 36 36 void cancelActivated (void); 37 37 void numberOfCopiesChanged (void); 38 void pageRangeOptionChanged (void); 38 39 void printActivated (void); 39 40 -
trunk/src/gtk/PrintView.cxx
r217 r218 34 34 } printerListColumns; 35 35 36 // Callbacks. 37 static void print_view_number_of_copies_changed (GtkSpinButton *, gpointer); 38 static void print_view_page_range_option_changed (GtkToggleButton *, gpointer); 39 36 40 PrintView::PrintView (GtkWindow *parent): 37 41 IPrintView () … … 82 86 IPrintView::setPresenter (pter); 83 87 88 // Connect signals. 89 g_signal_connect (G_OBJECT (m_NumberOfCopies), "value_changed", 90 G_CALLBACK (print_view_number_of_copies_changed), 91 pter); 92 g_signal_connect (G_OBJECT (m_AllPagesRangeOption), "toggled", 93 G_CALLBACK (print_view_page_range_option_changed), 94 pter); 95 g_signal_connect (G_OBJECT (m_CustomPagesRangeOption), "toggled", 96 G_CALLBACK (print_view_page_range_option_changed), 97 pter); 98 99 // Run the dialog. 84 100 if ( GTK_RESPONSE_ACCEPT == gtk_dialog_run (GTK_DIALOG (m_PrintDialog)) ) 85 101 { … … 96 112 { 97 113 return gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (m_NumberOfCopies)); 114 } 115 116 gboolean 117 PrintView::isSelectedAllPagesRangeOption () 118 { 119 return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (m_AllPagesRangeOption)); 98 120 } 99 121 … … 138 160 gtk_table_set_col_spacings (GTK_TABLE (printRangeTable), 12); 139 161 // Create the two radio buttons. 140 GtkWidget *allPagesRadio=162 m_AllPagesRangeOption = 141 163 gtk_radio_button_new_with_mnemonic (NULL, _("_All pages")); 142 GtkWidget *pageRangeRadio=164 m_CustomPagesRangeOption = 143 165 gtk_radio_button_new_with_mnemonic_from_widget ( 144 GTK_RADIO_BUTTON ( allPagesRadio), _("_Range:"));166 GTK_RADIO_BUTTON (m_AllPagesRangeOption), _("_Range:")); 145 167 m_PageRange = gtk_entry_new (); 146 gtk_table_attach_defaults (GTK_TABLE (printRangeTable), allPagesRadio, 168 gtk_table_attach_defaults (GTK_TABLE (printRangeTable), 169 m_AllPagesRangeOption, 147 170 0, 2, 0, 1); 148 gtk_table_attach_defaults (GTK_TABLE (printRangeTable), pageRangeRadio, 171 gtk_table_attach_defaults (GTK_TABLE (printRangeTable), 172 m_CustomPagesRangeOption, 149 173 0, 1, 1, 2); 150 174 gtk_table_attach_defaults (GTK_TABLE (printRangeTable), m_PageRange, … … 200 224 gtk_misc_set_alignment (GTK_MISC (numCopiesLabel), 1.0, 0.5); 201 225 gtk_label_set_use_underline (GTK_LABEL (numCopiesLabel), TRUE); 202 GtkWidget *m_NumberOfCopies = gtk_spin_button_new_with_range (1, 999, 1);226 m_NumberOfCopies = gtk_spin_button_new_with_range (1, 999, 1); 203 227 gtk_label_set_mnemonic_widget (GTK_LABEL (numCopiesLabel), 204 228 m_NumberOfCopies); … … 347 371 return mainBox; 348 372 } 373 374 //////////////////////////////////////////////////////////////// 375 // Callbacks 376 //////////////////////////////////////////////////////////////// 377 378 void 379 print_view_number_of_copies_changed (GtkSpinButton *spin, gpointer data) 380 { 381 g_assert (NULL != data && "The data parameter is NULL."); 382 383 PrintPter *pter = (PrintPter *)data; 384 pter->numberOfCopiesChanged (); 385 } 386 387 void 388 print_view_page_range_option_changed (GtkToggleButton *button, gpointer data) 389 { 390 g_assert (NULL != data && "The data parameter is NULL."); 391 392 PrintPter *pter = (PrintPter *)data; 393 pter->pageRangeOptionChanged (); 394 } -
trunk/src/gtk/PrintView.h
r217 r218 30 30 31 31 virtual unsigned int getNumberOfCopies (void); 32 virtual gboolean isSelectedAllPagesRangeOption (void); 32 33 virtual void sensitiveCollate (gboolean sensitive); 33 34 virtual void sensitivePageRange (gboolean sensitive); 34 35 35 36 protected: 37 GtkWidget *m_AllPagesRangeOption; 36 38 GtkWidget *m_Collate; 39 GtkWidget *m_CustomPagesRangeOption; 37 40 GtkWidget *m_NumberOfCopies; 38 41 GtkWidget *m_PageRange; -
trunk/tests/DumbPrintView.cxx
r217 r218 24 24 IPrintView () 25 25 { 26 m_AllPagesRangeOptionSelected = TRUE; 26 27 m_NumberOfCopies = 1; 27 28 m_SensitiveCollate = TRUE; … … 37 38 { 38 39 return m_NumberOfCopies; 40 } 41 42 gboolean 43 DumbPrintView::isSelectedAllPagesRangeOption () 44 { 45 return m_AllPagesRangeOptionSelected; 39 46 } 40 47 … … 68 75 69 76 void 77 DumbPrintView::selectAllPagesRangeOption () 78 { 79 m_AllPagesRangeOptionSelected = TRUE; 80 } 81 82 void 83 DumbPrintView::selectCustomPagesRangeOption () 84 { 85 m_AllPagesRangeOptionSelected = FALSE; 86 } 87 88 void 70 89 DumbPrintView::setNumberOfCopies (unsigned int copies) 71 90 { -
trunk/tests/DumbPrintView.h
r217 r218 28 28 29 29 virtual unsigned int getNumberOfCopies (void); 30 virtual gboolean isSelectedAllPagesRangeOption (void); 30 31 virtual void sensitiveCollate (gboolean sensitive); 31 32 virtual void sensitivePageRange (gboolean sensitive); … … 34 35 gboolean isSensitiveCollate (void); 35 36 gboolean isSensitivePageRange (void); 37 void selectAllPagesRangeOption (void); 38 void selectCustomPagesRangeOption (void); 36 39 void setNumberOfCopies (unsigned int copies); 37 40 38 41 protected: 42 gboolean m_AllPagesRangeOptionSelected; 39 43 gint m_NumberOfCopies; 40 44 gboolean m_SensitiveCollate; -
trunk/tests/PrintPterTest.cxx
r217 r218 97 97 CPPUNIT_ASSERT ( m_View->isSensitiveCollate ()); 98 98 } 99 100 /// 101 /// @brief Check "Page Range"'s sensitivity. 102 /// 103 /// The page range entry is only sensitive when the "Range:" radio 104 /// button is selected. 105 /// 106 void 107 PrintPterTest::pageRangeSensitivity () 108 { 109 m_View->selectAllPagesRangeOption (); 110 m_PrintPter->pageRangeOptionChanged (); 111 CPPUNIT_ASSERT ( !m_View->isSensitivePageRange ()); 112 113 m_View->selectCustomPagesRangeOption (); 114 m_PrintPter->pageRangeOptionChanged (); 115 CPPUNIT_ASSERT ( m_View->isSensitivePageRange ()); 116 117 m_View->selectAllPagesRangeOption (); 118 m_PrintPter->pageRangeOptionChanged (); 119 CPPUNIT_ASSERT ( !m_View->isSensitivePageRange ()); 120 121 m_View->selectCustomPagesRangeOption (); 122 m_PrintPter->pageRangeOptionChanged (); 123 CPPUNIT_ASSERT ( m_View->isSensitivePageRange ()); 124 } -
trunk/tests/PrintPterTest.h
r217 r218 28 28 CPPUNIT_TEST (initialSensitivity); 29 29 CPPUNIT_TEST (collateSensitivity); 30 CPPUNIT_TEST (pageRangeSensitivity); 30 31 CPPUNIT_TEST_SUITE_END (); 31 32 … … 36 37 void initialSensitivity (void); 37 38 void collateSensitivity (void); 39 void pageRangeSensitivity (void); 38 40 39 41 protected:
