Package ch.bailu.gtk.gtk
Class MessageDialog
- All Implemented Interfaces:
PointerInterface
`GtkMessageDialog` presents a dialog with some message text.
![An example GtkMessageDialog](messagedialog.png)
It’s simply a convenience widget; you could construct the equivalent of
`GtkMessageDialog` from `GtkDialog` without too much effort, but
`GtkMessageDialog` saves typing.
The easiest way to do a modal message dialog is to use the %GTK_DIALOG_MODAL
flag, which will call [method@Gtk.Window.set_modal] internally. The dialog will
prevent interaction with the parent window until it's hidden or destroyed.
You can use the [signal@Gtk.Dialog::response] signal to know when the user
dismissed the dialog.
An example for using a modal dialog:
```c
GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL;
dialog = gtk_message_dialog_new (parent_window,
flags,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Error reading “%s”: %s",
filename,
g_strerror (errno));
// Destroy the dialog when the user responds to it
// (e.g. clicks a button)
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_window_destroy),
NULL);
```
You might do a non-modal `GtkMessageDialog` simply by omitting the
%GTK_DIALOG_MODAL flag:
```c
GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT;
dialog = gtk_message_dialog_new (parent_window,
flags,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Error reading “%s”: %s",
filename,
g_strerror (errno));
// Destroy the dialog when the user responds to it
// (e.g. clicks a button)
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_window_destroy),
NULL);
```
# GtkMessageDialog as GtkBuildable
The `GtkMessageDialog` implementation of the `GtkBuildable` interface exposes
the message area as an internal child with the name “message_area”.
![An example GtkMessageDialog](messagedialog.png)
It’s simply a convenience widget; you could construct the equivalent of
`GtkMessageDialog` from `GtkDialog` without too much effort, but
`GtkMessageDialog` saves typing.
The easiest way to do a modal message dialog is to use the %GTK_DIALOG_MODAL
flag, which will call [method@Gtk.Window.set_modal] internally. The dialog will
prevent interaction with the parent window until it's hidden or destroyed.
You can use the [signal@Gtk.Dialog::response] signal to know when the user
dismissed the dialog.
An example for using a modal dialog:
```c
GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL;
dialog = gtk_message_dialog_new (parent_window,
flags,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Error reading “%s”: %s",
filename,
g_strerror (errno));
// Destroy the dialog when the user responds to it
// (e.g. clicks a button)
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_window_destroy),
NULL);
```
You might do a non-modal `GtkMessageDialog` simply by omitting the
%GTK_DIALOG_MODAL flag:
```c
GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT;
dialog = gtk_message_dialog_new (parent_window,
flags,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Error reading “%s”: %s",
filename,
g_strerror (errno));
// Destroy the dialog when the user responds to it
// (e.g. clicks a button)
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_window_destroy),
NULL);
```
# GtkMessageDialog as GtkBuildable
The `GtkMessageDialog` implementation of the `GtkBuildable` interface exposes
the message area as an internal child with the name “message_area”.
-
Nested Class Summary
Nested classes/interfaces inherited from class ch.bailu.gtk.gtk.Dialog
Dialog.OnClose, Dialog.OnResponse
Nested classes/interfaces inherited from class ch.bailu.gtk.gtk.Window
Window.OnActivateDefault, Window.OnActivateFocus, Window.OnCloseRequest, Window.OnEnableDebugging, Window.OnKeysChanged
Nested classes/interfaces inherited from class ch.bailu.gtk.gtk.Widget
Widget.OnDestroy, Widget.OnDestroyNotify, Widget.OnDirectionChanged, Widget.OnHide, Widget.OnKeynavFailed, Widget.OnMap, Widget.OnMnemonicActivate, Widget.OnMoveFocus, Widget.OnQueryTooltip, Widget.OnRealize, Widget.OnShow, Widget.OnStateFlagsChanged, Widget.OnTickCallback, Widget.OnUnmap, Widget.OnUnrealize
Nested classes/interfaces inherited from class ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Field Summary
Fields inherited from class ch.bailu.gtk.gtk.Dialog
SIGNAL_ON_CLOSE, SIGNAL_ON_RESPONSE
Fields inherited from class ch.bailu.gtk.gtk.Window
SIGNAL_ON_ACTIVATE_DEFAULT, SIGNAL_ON_ACTIVATE_FOCUS, SIGNAL_ON_CLOSE_REQUEST, SIGNAL_ON_ENABLE_DEBUGGING, SIGNAL_ON_KEYS_CHANGED
Fields inherited from class ch.bailu.gtk.gtk.Widget
SIGNAL_ON_DESTROY, SIGNAL_ON_DIRECTION_CHANGED, SIGNAL_ON_HIDE, SIGNAL_ON_KEYNAV_FAILED, SIGNAL_ON_MAP, SIGNAL_ON_MNEMONIC_ACTIVATE, SIGNAL_ON_MOVE_FOCUS, SIGNAL_ON_QUERY_TOOLTIP, SIGNAL_ON_REALIZE, SIGNAL_ON_SHOW, SIGNAL_ON_STATE_FLAGS_CHANGED, SIGNAL_ON_UNMAP, SIGNAL_ON_UNREALIZE
Fields inherited from class ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Constructor Summary
ConstructorDescriptionMessageDialog
(Window parent, int flags, int type, int buttons, Str message_format, Object... _elipse) Creates a new message dialog.MessageDialog
(Window parent, int flags, int type, int buttons, String message_format, Object... _elipse) Creates a new message dialog.MessageDialog
(PointerContainer pointer) -
Method Summary
Modifier and TypeMethodDescriptionImplements interfaceAccessible
.Implements interfaceBuildable
.Implements interfaceConstraintTarget
.asNative()
Implements interfaceNative
.asRoot()
Implements interfaceRoot
.Implements interfaceShortcutManager
.void
formatSecondaryMarkup
(Str message_format, Object... _elipse) Sets the secondary text of the message dialog.void
formatSecondaryMarkup
(String message_format, Object... _elipse) Sets the secondary text of the message dialog.void
formatSecondaryText
(Str message_format, Object... _elipse) Sets the secondary text of the message dialog.void
formatSecondaryText
(String message_format, Object... _elipse) Sets the secondary text of the message dialog.static ClassHandler
static int
Returns the message area of the dialog.static long
static TypeSystem.TypeSize
static long
static TypeSystem.TypeSize
static MessageDialog
newWithMarkupMessageDialog
(Window parent, int flags, int type, int buttons, Str message_format, Object... _elipse) Creates a new message dialog.static MessageDialog
newWithMarkupMessageDialog
(Window parent, int flags, int type, int buttons, String message_format, Object... _elipse) Creates a new message dialog.void
Sets the text of the message dialog.void
Sets the text of the message dialog.Methods inherited from class ch.bailu.gtk.gtk.Dialog
addActionWidget, addButton, addButton, addButtons, addButtons, getContentArea, getHeaderBar, getResponseForWidget, getWidgetForResponse, newWithButtonsDialog, newWithButtonsDialog, onClose, onResponse, response, setDefaultResponse, setResponseSensitive
Methods inherited from class ch.bailu.gtk.gtk.Window
close, destroy, fullscreen, fullscreenOnMonitor, getApplication, getChild, getDecorated, getDefaultIconName, getDefaultSize, getDefaultWidget, getDeletable, getDestroyWithParent, getFocus, getFocusVisible, getGroup, getHandleMenubarAccel, getHideOnClose, getIconName, getMnemonicsVisible, getModal, getResizable, getTitle, getTitlebar, getToplevels, getTransientFor, hasGroup, isActive, isFullscreen, isMaximized, listToplevels, maximize, minimize, onActivateDefault, onActivateFocus, onCloseRequest, onEnableDebugging, onKeysChanged, present, presentWithTime, setApplication, setAutoStartupNotification, setChild, setDecorated, setDefaultIconName, setDefaultSize, setDefaultWidget, setDeletable, setDestroyWithParent, setDisplay, setFocus, setFocusVisible, setHandleMenubarAccel, setHideOnClose, setIconName, setIconName, setInteractiveDebugging, setMnemonicsVisible, setModal, setResizable, setStartupId, setStartupId, setTitle, setTitle, setTitlebar, setTransientFor, unfullscreen, unmaximize, unminimize
Methods inherited from class ch.bailu.gtk.gtk.Widget
actionSetEnabled, actionSetEnabled, activate, activateAction, activateAction, activateActionVariant, activateActionVariant, activateDefault, addController, addCssClass, addCssClass, addMnemonicLabel, addTickCallback, allocate, childFocus, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, createPangoLayout, disposeTemplate, dragCheckThreshold, errorBell, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getCanFocus, getCanTarget, getChildVisible, getClipboard, getCssClasses, getCssName, getCursor, getDefaultDirection, getDirection, getDisplay, getFirstChild, getFocusable, getFocusChild, getFocusOnClick, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getLastChild, getLayoutManager, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getName, getNative, getNextSibling, getOpacity, getOverflow, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getStateFlags, getStyleContext, getTemplateChild, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth, grabFocus, hasCssClass, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, observeChildren, observeControllers, onDestroy, onDirectionChanged, onHide, onKeynavFailed, onMap, onMnemonicActivate, onMoveFocus, onQueryTooltip, onRealize, onShow, onStateFlagsChanged, onUnmap, onUnrealize, pick, queueAllocate, queueDraw, queueResize, realize, removeController, removeCssClass, removeCssClass, removeMnemonicLabel, removeTickCallback, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setCursorFromName, setDefaultDirection, setDirection, setFocusable, setFocusChild, setFocusOnClick, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setName, setOpacity, setOverflow, setParent, setReceivesDefault, setSensitive, setSizeRequest, setStateFlags, setTooltipMarkup, setTooltipMarkup, setTooltipText, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible, shouldLayout, show, sizeAllocate, snapshotChild, triggerTooltipQuery, unmap, unparent, unrealize, unsetStateFlags
Methods inherited from class ch.bailu.gtk.gobject.Object
addToggleRef, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, disconnect, disconnect, dupData, dupData, dupQdata, forceFloating, freezeNotify, get, get, getData, getData, getProperty, getProperty, getQdata, interfaceFindProperty, interfaceInstallProperty, isFloating, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, replaceData, replaceData, replaceQdata, runDispose, set, set, setData, setData, setDataFull, setDataFull, setProperty, setProperty, setQdata, setQdataFull, stealData, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref
Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Constructor Details
-
MessageDialog
-
MessageDialog
public MessageDialog(@Nullable Window parent, int flags, int type, int buttons, @Nullable Str message_format, Object... _elipse) Creates a new message dialog.
This is a simple dialog with some text the user may want to see.
When the user clicks a button a “response” signal is emitted with
response IDs from [enum@Gtk.ResponseType]. See [class@Gtk.Dialog]
for more details.- Parameters:
parent
- transient parentflags
- flagstype
- type of messagebuttons
- set of buttons to usemessage_format
- printf()-style format string_elipse
- arguments for @message_format
-
MessageDialog
public MessageDialog(@Nullable Window parent, int flags, int type, int buttons, String message_format, Object... _elipse) Creates a new message dialog.
This is a simple dialog with some text the user may want to see.
When the user clicks a button a “response” signal is emitted with
response IDs from [enum@Gtk.ResponseType]. See [class@Gtk.Dialog]
for more details.- Parameters:
parent
- transient parentflags
- flagstype
- type of messagebuttons
- set of buttons to usemessage_format
- printf()-style format string_elipse
- arguments for @message_format
-
-
Method Details
-
getClassHandler
-
newWithMarkupMessageDialog
public static MessageDialog newWithMarkupMessageDialog(@Nullable Window parent, int flags, int type, int buttons, @Nullable Str message_format, Object... _elipse) Creates a new message dialog.
This is a simple dialog with some text that is marked up with
Pango markup. When the user clicks a button a “response” signal
is emitted with response IDs from [enum@Gtk.ResponseType]. See
[class@Gtk.Dialog] for more details.
Special XML characters in the printf() arguments passed to this
function will automatically be escaped as necessary.
(See g_markup_printf_escaped() for how this is implemented.)
Usually this is what you want, but if you have an existing
Pango markup string that you want to use literally as the
label, then you need to use [method@Gtk.MessageDialog.set_markup]
instead, since you can’t pass the markup string either
as the format (it might contain “%” characters) or as a string
argument.
```c
GtkWidget *dialog;
GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT;
dialog = gtk_message_dialog_new (parent_window,
flags,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
NULL);
gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog),
markup);
```- Parameters:
parent
- transient parentflags
- flagstype
- type of messagebuttons
- set of buttons to usemessage_format
- printf()-style format string_elipse
- arguments for @message_format- Returns:
- a new `GtkMessageDialog`
-
newWithMarkupMessageDialog
public static MessageDialog newWithMarkupMessageDialog(@Nullable Window parent, int flags, int type, int buttons, String message_format, Object... _elipse) Creates a new message dialog.
This is a simple dialog with some text that is marked up with
Pango markup. When the user clicks a button a “response” signal
is emitted with response IDs from [enum@Gtk.ResponseType]. See
[class@Gtk.Dialog] for more details.
Special XML characters in the printf() arguments passed to this
function will automatically be escaped as necessary.
(See g_markup_printf_escaped() for how this is implemented.)
Usually this is what you want, but if you have an existing
Pango markup string that you want to use literally as the
label, then you need to use [method@Gtk.MessageDialog.set_markup]
instead, since you can’t pass the markup string either
as the format (it might contain “%” characters) or as a string
argument.
```c
GtkWidget *dialog;
GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT;
dialog = gtk_message_dialog_new (parent_window,
flags,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
NULL);
gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog),
markup);
```- Parameters:
parent
- transient parentflags
- flagstype
- type of messagebuttons
- set of buttons to usemessage_format
- printf()-style format string_elipse
- arguments for @message_format- Returns:
- a new `GtkMessageDialog`
-
formatSecondaryMarkup
Sets the secondary text of the message dialog.
The @message_format is assumed to contain Pango markup.
Due to an oversight, this function does not escape special
XML characters like [ctor@Gtk.MessageDialog.new_with_markup]
does. Thus, if the arguments may contain special XML characters,
you should use g_markup_printf_escaped() to escape it.
```c
char *msg;
msg = g_markup_printf_escaped (message_format, ...);
gtk_message_dialog_format_secondary_markup (message_dialog,
"%s", msg);
g_free (msg);
```- Parameters:
message_format
- printf()-style string with Pango markup_elipse
- arguments for @message_format
-
formatSecondaryMarkup
Sets the secondary text of the message dialog.
The @message_format is assumed to contain Pango markup.
Due to an oversight, this function does not escape special
XML characters like [ctor@Gtk.MessageDialog.new_with_markup]
does. Thus, if the arguments may contain special XML characters,
you should use g_markup_printf_escaped() to escape it.
```c
char *msg;
msg = g_markup_printf_escaped (message_format, ...);
gtk_message_dialog_format_secondary_markup (message_dialog,
"%s", msg);
g_free (msg);
```- Parameters:
message_format
- printf()-style string with Pango markup_elipse
- arguments for @message_format
-
formatSecondaryText
Sets the secondary text of the message dialog.- Parameters:
message_format
- printf()-style format string_elipse
- arguments for @message_format
-
formatSecondaryText
Sets the secondary text of the message dialog.- Parameters:
message_format
- printf()-style format string_elipse
- arguments for @message_format
-
getMessageArea
Returns the message area of the dialog.
This is the box where the dialog’s primary and secondary labels
are packed. You can add your own extra content to that box and it
will appear below those labels. See [method@Gtk.Dialog.get_content_area]
for the corresponding function in the parent [class@Gtk.Dialog].- Returns:
- A `GtkBox` corresponding to the “message area” in the @message_dialog
-
setMarkup
Sets the text of the message dialog.- Parameters:
str
- string with Pango markup
-
setMarkup
Sets the text of the message dialog.- Parameters:
str
- string with Pango markup
-
asAccessible
Implements interfaceAccessible
. Call this to get access to interface functions.- Overrides:
asAccessible
in classDialog
- Returns:
Accessible
-
asBuildable
Implements interfaceBuildable
. Call this to get access to interface functions.- Overrides:
asBuildable
in classDialog
- Returns:
Buildable
-
asConstraintTarget
Implements interfaceConstraintTarget
. Call this to get access to interface functions.- Overrides:
asConstraintTarget
in classDialog
- Returns:
ConstraintTarget
-
asNative
Implements interfaceNative
. Call this to get access to interface functions. -
asRoot
Implements interfaceRoot
. Call this to get access to interface functions. -
asShortcutManager
Implements interfaceShortcutManager
. Call this to get access to interface functions.- Overrides:
asShortcutManager
in classDialog
- Returns:
ShortcutManager
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-