Class PrintUnixDialog
- All Implemented Interfaces:
Proxy
,Accessible
,Buildable
,ConstraintTarget
,Native
,Root
,ShortcutManager
GtkPrintUnixDialog
implements a print dialog for platforms
which don’t provide a native print dialog, like Unix.
It can be used very much like any other GTK dialog, at the cost of
the portability offered by the high-level printing API with
PrintOperation
.
In order to print something with GtkPrintUnixDialog
, you need to
use getSelectedPrinter()
to obtain a
Printer
object and use it to construct a PrintJob
using PrintJob(java.lang.String, org.gnome.gtk.Printer, org.gnome.gtk.PrintSettings, org.gnome.gtk.PageSetup)
.
GtkPrintUnixDialog
uses the following response values:
ResponseType.OK
: for the “Print” buttonResponseType.APPLY
: for the “Preview” buttonResponseType.CANCEL
: for the “Cancel” button
GtkPrintUnixDialog as GtkBuildable
The GtkPrintUnixDialog
implementation of the GtkBuildable
interface
exposes its notebook
internal children with the name “notebook”.
An example of a GtkPrintUnixDialog
UI definition fragment:
<object class="GtkPrintUnixDialog" id="dialog1">
<child internal-child="notebook">
<object class="GtkNotebook" id="notebook">
<child>
<object type="GtkNotebookPage">
<property name="tab_expand">False</property>
<property name="tab_fill">False</property>
<property name="tab">
<object class="GtkLabel" id="tablabel">
<property name="label">Tab label</property>
</object>
</property>
<property name="child">
<object class="GtkLabel" id="tabcontent">
<property name="label">Content on notebook tab</property>
</object>
</property>
</object>
</child>
</object>
</child>
</object>
CSS nodes
GtkPrintUnixDialog
has a single CSS node with name window. The style classes
dialog and print are added.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
PrintUnixDialog.Builder<B extends PrintUnixDialog.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.Nested classes/interfaces inherited from class org.gnome.gtk.Dialog
Dialog.CloseCallback, Dialog.DialogClass, Dialog.ResponseCallback
Nested classes/interfaces inherited from class org.gnome.gtk.Window
Window.ActivateDefaultCallback, Window.ActivateFocusCallback, Window.CloseRequestCallback, Window.EnableDebuggingCallback, Window.KeysChangedCallback, Window.WindowClass
Nested classes/interfaces inherited from class org.gnome.gtk.Widget
Widget.DestroyCallback, Widget.DirectionChangedCallback, Widget.HideCallback, Widget.KeynavFailedCallback, Widget.MapCallback, Widget.MnemonicActivateCallback, Widget.MoveFocusCallback, Widget.QueryTooltipCallback, Widget.RealizeCallback, Widget.ShowCallback, Widget.StateFlagsChangedCallback, Widget.UnmapCallback, Widget.UnrealizeCallback, Widget.WidgetClass, Widget.WidgetImpl
Nested classes/interfaces inherited from class org.gnome.gobject.InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClass
Nested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClass
Nested classes/interfaces inherited from interface org.gnome.gtk.Accessible
Accessible.AccessibleImpl, Accessible.AccessibleInterface
Nested classes/interfaces inherited from interface org.gnome.gtk.Buildable
Buildable.BuildableIface, Buildable.BuildableImpl
Nested classes/interfaces inherited from interface org.gnome.gtk.ConstraintTarget
ConstraintTarget.ConstraintTargetImpl, ConstraintTarget.ConstraintTargetInterface
Nested classes/interfaces inherited from interface org.gnome.gtk.Native
Native.NativeImpl, Native.NativeInterface
Nested classes/interfaces inherited from interface org.gnome.gtk.Root
Root.RootImpl, Root.RootInterface
Nested classes/interfaces inherited from interface org.gnome.gtk.ShortcutManager
ShortcutManager.ShortcutManagerImpl, ShortcutManager.ShortcutManagerInterface
-
Constructor Summary
ConstructorDescriptionPrintUnixDialog
(@Nullable String title, @Nullable Window parent) Creates a newGtkPrintUnixDialog
.PrintUnixDialog
(MemorySegment address) Create a PrintUnixDialog proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addCustomTab
(Widget child, Widget tabLabel) Adds a custom tab to the print dialog.protected PrintUnixDialog
asParent()
Returns this instance as if it were its parent type.static PrintUnixDialog.Builder
<? extends PrintUnixDialog.Builder> builder()
APrintUnixDialog.Builder
object constructs aPrintUnixDialog
with the specified properties.int
Gets the current page of theGtkPrintUnixDialog
.boolean
Gets whether to embed the page setup.boolean
Gets whether there is a selection.Gets the capabilities that have been set on thisGtkPrintUnixDialog
.Gets the page setup that is used by theGtkPrintUnixDialog
.boolean
Gets whether a page setup was set by the user.Gets a newGtkPrintSettings
object that represents the current values in the print dialog.Gets the currently selected printer.boolean
Gets whether the print dialog allows user to print a selection.static Type
getType()
Get the GType of the PrintUnixDialog classvoid
setCurrentPage
(int currentPage) Sets the current page number.void
setEmbedPageSetup
(boolean embed) Embed page size combo box and orientation combo box into page setup page.void
setHasSelection
(boolean hasSelection) Sets whether a selection exists.void
setManualCapabilities
(Set<PrintCapabilities> capabilities) This lets you specify the printing capabilities your application supports.void
setManualCapabilities
(PrintCapabilities... capabilities) This lets you specify the printing capabilities your application supports.void
setPageSetup
(PageSetup pageSetup) Sets the page setup of theGtkPrintUnixDialog
.void
setSettings
(@Nullable PrintSettings settings) Sets theGtkPrintSettings
for theGtkPrintUnixDialog
.void
setSupportSelection
(boolean supportSelection) Sets whether the print dialog allows user to print a selection.Methods inherited from class org.gnome.gtk.Dialog
addActionWidget, addButton, addButtons, close, emitClose, emitResponse, getContentArea, getHeaderBar, getMemoryLayout, getResponseForWidget, getWidgetForResponse, onClose, onResponse, response, setDefaultResponse, setResponseSensitive, withButtons, withButtons
Methods inherited from class org.gnome.gtk.Window
activateDefault, activateFocus, closeRequest, destroy, emitActivateDefault, emitActivateFocus, emitCloseRequest, emitEnableDebugging, emitKeysChanged, enableDebugging, 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, isSuspended, keysChanged, 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, setInteractiveDebugging, setMnemonicsVisible, setModal, setResizable, setStartupId, setTitle, setTitlebar, setTransientFor, unfullscreen, unmaximize, unminimize
Methods inherited from class org.gnome.gtk.Widget
actionSetEnabled, activateActionIfExists, activateWidget, addController, addCssClass, addMnemonicLabel, addTickCallback, allocate, childFocus, computeBounds, computeExpand, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, cssChanged, directionChanged, disposeTemplate, dragCheckThreshold, emitDestroy, emitDirectionChanged, emitHide, emitKeynavFailed, emitMap, emitMnemonicActivate, emitMoveFocus, emitQueryTooltip, emitRealize, emitShow, emitStateFlagsChanged, emitUnmap, emitUnrealize, errorBell, focus, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getBaseline, getCanFocus, getCanTarget, getChildVisible, getClipboard, getColor, 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, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth, grabFocus, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, moveFocus, observeChildren, observeControllers, onDestroy, onDirectionChanged, onHide, onKeynavFailed, onMap, onMnemonicActivate, onMoveFocus, onQueryTooltip, onRealize, onShow, onStateFlagsChanged, onUnmap, onUnrealize, pick, pick, queryTooltip, queueAllocate, queueDraw, queueResize, realize, removeController, removeCssClass, removeMnemonicLabel, removeTickCallback, root, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setDefaultDirection, setDirection, setFocusable, setFocusChild, setFocusOnClick, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setOpacity, setOverflow, setParent, setReceivesDefault, setSensitive, setSizeRequest, setStateFlags, setStateFlags, setTooltipMarkup, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible, shouldLayout, show, sizeAllocate, sizeAllocate, snapshot, snapshotChild, stateFlagsChanged, systemSettingChanged, translateCoordinates, triggerTooltipQuery, unmap, unparent, unrealize, unroot, unsetStateFlags, unsetStateFlags
Methods inherited from class org.gnome.gobject.GObject
addToggleRef, addWeakPointer, bindProperty, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, connect, constructed, disconnect, dispatchPropertiesChanged, dispose, dupData, dupQdata, emit, emitNotify, finalize_, forceFloating, freezeNotify, get, getData, getProperty, getProperty, getProperty, getQdata, getv, interfaceFindProperty, interfaceInstallProperty, interfaceListProperties, isFloating, newInstance, newInstance, newInstance, newInstance, newv, notify_, notify_, notifyByPspec, onNotify, ref, refSink, removeToggleRef, removeWeakPointer, replaceData, replaceQdata, runDispose, set, setData, setDataFull, setProperty, setProperty, setProperty, setQdata, setQdataFull, setv, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref, withProperties
Methods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, getPrivate, readGClass, writeGClass
Methods inherited from class io.github.jwharm.javagi.base.ProxyInstance
equals, handle, hashCode
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.gnome.gtk.Accessible
announce, getAccessibleParent, getAccessibleRole, getAtContext, getBounds, getFirstAccessibleChild, getNextAccessibleSibling, getPlatformState, resetProperty, resetRelation, resetState, setAccessibleParent, updateNextAccessibleSibling, updateProperty, updateRelation, updateState
Methods inherited from interface org.gnome.gtk.Buildable
getBuildableId
Methods inherited from interface org.gnome.gtk.Native
getRenderer, getSurface, getSurfaceTransform, realize, unrealize
Methods inherited from interface org.gnome.gtk.Root
getDisplay, getFocus, setFocus
-
Constructor Details
-
PrintUnixDialog
Create a PrintUnixDialog proxy instance for the provided memory address.- Parameters:
address
- the memory address of the native object
-
PrintUnixDialog
public PrintUnixDialog(@Nullable @Nullable String title, @Nullable @Nullable Window parent) throws UnsupportedPlatformException Creates a newGtkPrintUnixDialog
.- Parameters:
title
- Title of the dialogparent
- Transient parent of the dialog- Throws:
UnsupportedPlatformException
- when run on a platform other than linux or macos
-
-
Method Details
-
getType
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuper
keyword, but will set the native typeclass function pointers to the parent type. When overriding a native virtual method in Java, "chaining up" withsuper.methodName()
doesn't work, because it invokes the overridden function pointer again. To chain up, callasParent().methodName()
. This will call the native function pointer of this virtual method in the typeclass of the parent type. -
addCustomTab
-
getCurrentPage
public int getCurrentPage()Gets the current page of theGtkPrintUnixDialog
.- Returns:
- the current page of this PrintUnixDialog
-
getEmbedPageSetup
public boolean getEmbedPageSetup()Gets whether to embed the page setup.- Returns:
- whether to embed the page setup
-
getHasSelection
public boolean getHasSelection()Gets whether there is a selection.- Returns:
- whether there is a selection
-
getManualCapabilities
Gets the capabilities that have been set on thisGtkPrintUnixDialog
.- Returns:
- the printing capabilities
-
getPageSetup
Gets the page setup that is used by theGtkPrintUnixDialog
.- Returns:
- the page setup of this PrintUnixDialog.
-
getPageSetupSet
public boolean getPageSetupSet()Gets whether a page setup was set by the user.- Returns:
- whether a page setup was set by user.
-
getSelectedPrinter
Gets the currently selected printer.- Returns:
- the currently selected printer
-
getPrintSettings
Gets a newGtkPrintSettings
object that represents the current values in the print dialog.Note that this creates a new object, and you need to unref it if don’t want to keep it.
- Returns:
- a new
GtkPrintSettings
object with the values from this PrintUnixDialog
-
getSupportSelection
public boolean getSupportSelection()Gets whether the print dialog allows user to print a selection.- Returns:
- whether the application supports print of selection
-
setCurrentPage
public void setCurrentPage(int currentPage) Sets the current page number.If
currentPage
is not -1, this enables the current page choice for the range of pages to print.- Parameters:
currentPage
- the current page number.
-
setEmbedPageSetup
public void setEmbedPageSetup(boolean embed) Embed page size combo box and orientation combo box into page setup page.- Parameters:
embed
- embed page setup selection
-
setHasSelection
public void setHasSelection(boolean hasSelection) Sets whether a selection exists.- Parameters:
hasSelection
-true
indicates that a selection exists
-
setManualCapabilities
This lets you specify the printing capabilities your application supports.For instance, if you can handle scaling the output then you pass
PrintCapabilities.SCALE
. If you don’t pass that, then the dialog will only let you select the scale if the printing system automatically handles scaling.- Parameters:
capabilities
- the printing capabilities of your application
-
setManualCapabilities
This lets you specify the printing capabilities your application supports.For instance, if you can handle scaling the output then you pass
PrintCapabilities.SCALE
. If you don’t pass that, then the dialog will only let you select the scale if the printing system automatically handles scaling.- Parameters:
capabilities
- the printing capabilities of your application
-
setPageSetup
Sets the page setup of theGtkPrintUnixDialog
.- Parameters:
pageSetup
- aGtkPageSetup
-
setSettings
Sets theGtkPrintSettings
for theGtkPrintUnixDialog
.Typically, this is used to restore saved print settings from a previous print operation before the print dialog is shown.
- Parameters:
settings
- aGtkPrintSettings
-
setSupportSelection
public void setSupportSelection(boolean supportSelection) Sets whether the print dialog allows user to print a selection.- Parameters:
supportSelection
-true
to allow print selection
-
builder
APrintUnixDialog.Builder
object constructs aPrintUnixDialog
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withPrintUnixDialog.Builder.build()
.
-