A simple drag and drop field.
- data Notepad a
- data NotepadItem a
- newNotepad :: (CItem c, Container par) => par -> ScrollType -> Size -> Maybe (NotepadState c) -> [Config (Notepad c)] -> IO (Notepad c)
- createNotepadItem :: CItem c => c -> Notepad c -> Bool -> [Config (NotepadItem c)] -> IO (NotepadItem c)
- getFreeItemPosition :: CItem c => Notepad c -> IO Position
- getItemValue :: NotepadItem a -> IO a
- data ScrollType
- = Scrolled
- | NotScrolled
- module HTk.Toolkit.Name
- setName :: CItem c => NotepadItem c -> Name -> IO ()
- updNotepadScrollRegion :: Notepad a -> IO ()
- selectAll :: Notepad a -> IO ()
- deselectAll :: Notepad a -> IO ()
- selectItem :: Notepad a -> NotepadItem a -> IO ()
- selectAnotherItem :: Notepad a -> NotepadItem a -> IO ()
- selectItemsWithin :: Position -> Position -> Notepad a -> IO ()
- deselectItem :: Notepad a -> NotepadItem a -> IO ()
- getItems :: Notepad a -> IO [NotepadItem a]
- getSelectedItems :: Notepad a -> IO [NotepadItem a]
- isNotepadItemSelected :: Notepad a -> NotepadItem a -> IO Bool
- deleteItem :: CItem c => Notepad c -> NotepadItem c -> IO ()
- clearNotepad :: Notepad a -> IO ()
- undoLastMotion :: Notepad a -> IO ()
- bindNotepadEv :: Notepad a -> IO (Event (NotepadEvent a), IO ())
- data NotepadEvent a
- = Dropped (NotepadItem a, [NotepadItem a])
- | Selected (NotepadItem a)
- | Deselected (NotepadItem a)
- | Doubleclick (NotepadItem a)
- | Rightclick [NotepadItem a]
- | ReleaseSelection
- | ReleaseMovement EventInfo
- data CItem c => NotepadExportItem c = NotepadExportItem {}
- type NotepadState c = [NotepadExportItem c]
- exportNotepadState :: CItem c => Notepad c -> IO (NotepadState c)
- importNotepadState :: CItem c => Notepad c -> NotepadState c -> IO ()
- module HTk.Toolkit.CItem
Documentation
The Notepad
datatype.
Destroyable (Notepad a) | A notepad can be destroyed. |
Synchronized (Notepad a) | You can synchronize on a notepad object. |
GUIObject (Notepad a) | Internal. |
HasBorder (Notepad a) | A notepad has a configureable border. |
HasSize (Notepad a) | A notepad has a configureable size. |
HasColour (Notepad a) | A notepad has a configureable background colour. |
Widget (Notepad a) | A notepad has standard widget properties (concerning focus, cursor). |
data NotepadItem a Source
The NotepadItem
datatype.
Eq (NotepadItem a) | Internal. |
Destroyable (NotepadItem a) | A notepad item can be destroyed. |
Synchronized (NotepadItem a) | You can synchronize on a notepad item. |
GUIObject (NotepadItem a) | Internal. |
HasPosition (NotepadItem a) | A notepad item has a position on the associated notepad. |
:: (CItem c, Container par) | |
=> par | the parent widget (which has to be a container widget). |
-> ScrollType | the scrolltype for this notepad. |
-> Size | the size of the notepad items images for this notepad. |
-> Maybe (NotepadState c) | an optional previous notepad state to recover. |
-> [Config (Notepad c)] | the list of configuration options for this notepad. |
-> IO (Notepad c) | A notepad. |
Constructs a new notepad and returns a handler.
:: CItem c | |
=> c | the notepad item's value. |
-> Notepad c | the concerned notepad. |
-> Bool |
|
-> [Config (NotepadItem c)] | the list of configuration options for this notepad item. |
-> IO (NotepadItem c) | A notepad item. |
Creates a new notepad item and returns a handler.
Returns a free item position on the notepad.
getItemValue :: NotepadItem a -> IO aSource
Gets the value from a notepad item.
module HTk.Toolkit.Name
updNotepadScrollRegion :: Notepad a -> IO ()Source
Selects all items inside the notepad.
Deselects all items inside the notepad.
:: Notepad a | the concerned notepad. |
-> NotepadItem a | the concerned notepad item. |
-> IO () | None. |
Selects a specific notepad item.
:: Notepad a | the concerned notepad. |
-> NotepadItem a | the concerned notepad item. |
-> IO () | None. |
Adds an item to the notepad's selection.
:: Position | the upper left coordinate of the region. |
-> Position | the lower right coordinate of the region. |
-> Notepad a | the concerned notepad. |
-> IO () | None. |
Selects all items within the specified region.
:: Notepad a | the concerned notepad. |
-> NotepadItem a | the concerned notepad item. |
-> IO () | None. |
Deselects a notepad item.
:: Notepad a | the concerned notepad. |
-> IO [NotepadItem a] | A list of the contained notepad items. |
Gets the items from a notepad.
:: Notepad a | the concerned notepad. |
-> IO [NotepadItem a] | A list of the selected notepad items. |
Gets the selected items from a notepad.
:: Notepad a | the concerned notepad. |
-> NotepadItem a | the concerned notepad item. |
-> IO Bool |
|
True
if the given notepad item is selected.
:: CItem c | |
=> Notepad c | the concerned notepad. |
-> NotepadItem c | the concerned notepad item. |
-> IO () | None. |
Deletes an item from a notepad.
Deletes all items from a notepad.
undoLastMotion :: Notepad a -> IO ()Source
Internal (for use with GenGUI).
:: Notepad a | the concerned notepad. |
-> IO (Event (NotepadEvent a), IO ()) | A pair of (event, unbind action). |
Binds a listener for notepad events to the notepad and returns a corresponding event and an unbind action.
data NotepadEvent a Source
The NotepadEvent
datatype.
Dropped (NotepadItem a, [NotepadItem a]) | Drop event. |
Selected (NotepadItem a) | Selection event. |
Deselected (NotepadItem a) | Deselection event. |
Doubleclick (NotepadItem a) | Doubleclick event. |
Rightclick [NotepadItem a] | Rightclick event. |
ReleaseSelection | Buttonrelease after a selection. |
ReleaseMovement EventInfo | Buttonrelease after a movement. |
data CItem c => NotepadExportItem c Source
The NotepadExportItem
datatype.
type NotepadState c = [NotepadExportItem c]Source
:: CItem c | |
=> Notepad c | the concerned notepad. |
-> IO (NotepadState c) | The notepad's state. |
Exports a notepad's state.
:: CItem c | |
=> Notepad c | the concerned notepad. |
-> NotepadState c | |
-> IO () | None. |
Imports a notepad's state.
module HTk.Toolkit.CItem