diff options
Diffstat (limited to 'src/Gtk/Widgets/Sheet.icl')
-rw-r--r-- | src/Gtk/Widgets/Sheet.icl | 81 |
1 files changed, 41 insertions, 40 deletions
diff --git a/src/Gtk/Widgets/Sheet.icl b/src/Gtk/Widgets/Sheet.icl index f34aa4b..f8ecabe 100644 --- a/src/Gtk/Widgets/Sheet.icl +++ b/src/Gtk/Widgets/Sheet.icl @@ -9,37 +9,38 @@ import System._Pointer import Gtk import Gtk.Widgets.Sheet.Internal -:: GtkSheet :== Pointer +:: GtkSheet =: GtkSheet Pointer -instance gtkWidget GtkSheet where gtkWidget s = fromPtr s -instance gtkContainer GtkSheet where gtkContainer s = fromPtr s +instance gtkWidget GtkSheet where gtkWidget (GtkSheet s) = GtkWidget s +instance gtkContainer GtkSheet where gtkContainer (GtkSheet s) = GtkContainer s newSheet :: !Int !Int !String -> GtkM GtkSheet newSheet nrows ncols title = - toStateR (gtk_sheet_new nrows ncols title) >>= show + toStateR (gtk_sheet_new nrows ncols title) >>= \s -> + show (GtkSheet s) whileFrozen :: !(GtkM a) !GtkSheet -> GtkM a -whileFrozen m sheet = - toState (gtk_sheet_freeze sheet) >>| +whileFrozen m (GtkSheet s) = + toState (gtk_sheet_freeze s) >>| m >>= \r -> - toState (gtk_sheet_unfreeze sheet) >>| + toState (gtk_sheet_unfreeze s) >>| pure r ensureDimensions :: !Int !Int !GtkSheet -> GtkM GtkSheet -ensureDimensions nrows ncols sheet = - toStateR (gtk_sheet_get_rows_count sheet) >>= \current_nrows -> +ensureDimensions nrows ncols sheet=:(GtkSheet s) = + toStateR (gtk_sheet_get_rows_count s) >>= \current_nrows -> if (nrows < current_nrows) - (toState (gtk_sheet_delete_rows sheet nrows (current_nrows-nrows))) - (toState (gtk_sheet_add_rows sheet (nrows-current_nrows))) >>| - toStateR (gtk_sheet_get_columns_count sheet) >>= \current_ncols -> + (toState (gtk_sheet_delete_rows s nrows (current_nrows-nrows))) + (toState (gtk_sheet_add_rows s (nrows-current_nrows))) >>| + toStateR (gtk_sheet_get_columns_count s) >>= \current_ncols -> if (ncols < current_ncols) - (toState (gtk_sheet_delete_columns sheet ncols (current_ncols-ncols))) - (toState (gtk_sheet_add_columns sheet (ncols-current_ncols))) >>| + (toState (gtk_sheet_delete_columns s ncols (current_ncols-ncols))) + (toState (gtk_sheet_add_columns s (ncols-current_ncols))) >>| pure sheet setColumnTitle :: !Int !String !GtkSheet -> GtkM GtkSheet -setColumnTitle col title sheet = - toState (gtk_sheet_set_column_title sheet col title) >>| +setColumnTitle col title sheet=:(GtkSheet s) = + toState (gtk_sheet_set_column_title s col title) >>| pure sheet setColumnTitles :: ![String] !GtkSheet -> GtkM GtkSheet @@ -48,8 +49,8 @@ setColumnTitles titles sheet = pure sheet setRowTitle :: !Int !String !GtkSheet -> GtkM GtkSheet -setRowTitle row title sheet = - toState (gtk_sheet_row_button_add_label sheet row title) >>| +setRowTitle row title sheet=:(GtkSheet s) = + toState (gtk_sheet_row_button_add_label s row title) >>| pure sheet setRowTitles :: ![String] !GtkSheet -> GtkM GtkSheet @@ -58,61 +59,61 @@ setRowTitles titles sheet = pure sheet setCellText :: !Int !Int !String !GtkSheet -> GtkM GtkSheet -setCellText row col text sheet = - toState (gtk_sheet_cell_clear sheet row col) >>| - toState (gtk_sheet_set_cell_text sheet row col text) >>| +setCellText row col text sheet=:(GtkSheet s) = + toState (gtk_sheet_cell_clear s row col) >>| + toState (gtk_sheet_set_cell_text s row col text) >>| pure sheet getCellText :: !Int !Int !GtkSheet -> GtkM (Maybe String) -getCellText row col sheet = toStateR (gtk_sheet_cell_get_text sheet row col) +getCellText row col (GtkSheet s) = toStateR (gtk_sheet_cell_get_text s row col) setColumnJustification :: !GtkJustification !Int !GtkSheet -> GtkM GtkSheet -setColumnJustification justification col sheet = - toState (gtk_sheet_column_set_justification sheet col (toInt justification)) >>| +setColumnJustification justification col sheet=:(GtkSheet s) = + toState (gtk_sheet_column_set_justification s col (toInt justification)) >>| pure sheet setCSSClassForRange :: !GtkCSSClass !(!Int,!Int) !(!Int,!Int) !GtkSheet -> GtkM GtkSheet -setCSSClassForRange (Class cls) top_left bottom_right sheet = - toState (gtk_sheet_range_set_css_class sheet top_left bottom_right cls) >>| +setCSSClassForRange (Class cls) top_left bottom_right sheet=:(GtkSheet s) = + toState (gtk_sheet_range_set_css_class s top_left bottom_right cls) >>| pure sheet setRangeEditable :: !Bool !(!Int,!Int) !(!Int,!Int) !GtkSheet -> GtkM GtkSheet -setRangeEditable setting top_left bottom_right sheet = - toState (gtk_sheet_range_set_editable sheet top_left bottom_right setting) >>| +setRangeEditable setting top_left bottom_right sheet=:(GtkSheet s) = + toState (gtk_sheet_range_set_editable s top_left bottom_right setting) >>| pure sheet getActiveCell :: !GtkSheet -> GtkM (Maybe (Int,Int)) -getActiveCell sheet = - toStateR (gtk_sheet_get_active_cell sheet) >>= \cell=:(row,col) +getActiveCell (GtkSheet s) = + toStateR (gtk_sheet_get_active_cell s) >>= \cell=:(row,col) | row < 0 || col < 0 -> pure Nothing -> pure (Just cell) setActiveCell :: !Int !Int !GtkSheet -> GtkM GtkSheet -setActiveCell row col sheet = - toState (gtk_sheet_set_active_cell sheet row col) >>| +setActiveCell row col sheet=:(GtkSheet s) = + toState (gtk_sheet_set_active_cell s row col) >>| pure sheet instance tune GtkSheet GtkSheetColumnResizability where - tune setting sheet = - toState (gtk_sheet_columns_set_resizable sheet setting=:ColumnsResizable) >>| + tune setting sheet=:(GtkSheet s) = + toState (gtk_sheet_columns_set_resizable s setting=:ColumnsResizable) >>| pure sheet instance tune GtkSheet GtkSheetColumnSensitity where - tune setting sheet = - toState (gtk_sheet_columns_set_sensitivity sheet setting=:ColumnsSensitive) >>| + tune setting sheet=:(GtkSheet s) = + toState (gtk_sheet_columns_set_sensitivity s setting=:ColumnsSensitive) >>| pure sheet instance tune GtkSheet GtkSheetRowResizability where - tune setting sheet = - toState (gtk_sheet_rows_set_resizable sheet setting=:RowsResizable) >>| + tune setting sheet=:(GtkSheet s) = + toState (gtk_sheet_rows_set_resizable s setting=:RowsResizable) >>| pure sheet instance tune GtkSheet GtkSheetRowSensitity where - tune setting sheet = - toState (gtk_sheet_rows_set_sensitivity sheet setting=:RowsSensitive) >>| + tune setting sheet=:(GtkSheet s) = + toState (gtk_sheet_rows_set_sensitivity s setting=:RowsSensitive) >>| pure sheet |