mirror of https://github.com/subgraph/fw-daemon
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1633 lines
56 KiB
1633 lines
56 KiB
package gtk
|
|
|
|
// #include <gtk/gtk.h>
|
|
// #include "gtk.go.h"
|
|
import "C"
|
|
import (
|
|
"errors"
|
|
"runtime"
|
|
"sync"
|
|
"unsafe"
|
|
|
|
"github.com/gotk3/gotk3/cairo"
|
|
"github.com/gotk3/gotk3/glib"
|
|
"github.com/gotk3/gotk3/pango"
|
|
)
|
|
|
|
func init() {
|
|
tm := []glib.TypeMarshaler{
|
|
// Enums
|
|
{glib.Type(C.gtk_page_orientation_get_type()), marshalPageOrientation},
|
|
{glib.Type(C.gtk_print_error_get_type()), marshalPrintError},
|
|
{glib.Type(C.gtk_print_operation_action_get_type()), marshalPrintOperationAction},
|
|
{glib.Type(C.gtk_print_operation_result_get_type()), marshalPrintOperationResult},
|
|
{glib.Type(C.gtk_print_status_get_type()), marshalPrintStatus},
|
|
{glib.Type(C.gtk_unit_get_type()), marshalUnit},
|
|
|
|
// Objects/Interfaces
|
|
{glib.Type(C.gtk_number_up_layout_get_type()), marshalNumberUpLayout},
|
|
{glib.Type(C.gtk_page_orientation_get_type()), marshalPageOrientation},
|
|
{glib.Type(C.gtk_page_set_get_type()), marshalPageSet},
|
|
{glib.Type(C.gtk_page_setup_get_type()), marshalPageSetup},
|
|
{glib.Type(C.gtk_print_context_get_type()), marshalPrintContext},
|
|
{glib.Type(C.gtk_print_duplex_get_type()), marshalPrintDuplex},
|
|
{glib.Type(C.gtk_print_operation_get_type()), marshalPrintOperation},
|
|
{glib.Type(C.gtk_print_operation_preview_get_type()), marshalPrintOperationPreview},
|
|
{glib.Type(C.gtk_print_pages_get_type()), marshalPrintPages},
|
|
{glib.Type(C.gtk_print_quality_get_type()), marshalPrintQuality},
|
|
{glib.Type(C.gtk_print_settings_get_type()), marshalPrintSettings},
|
|
|
|
// Boxed
|
|
{glib.Type(C.gtk_paper_size_get_type()), marshalPaperSize},
|
|
}
|
|
|
|
glib.RegisterGValueMarshalers(tm)
|
|
|
|
WrapMap["GtkPageSetup"] = wrapPageSetup
|
|
WrapMap["GtkPrintContext"] = wrapPrintContext
|
|
WrapMap["GtkPrintOperation"] = wrapPrintOperation
|
|
WrapMap["GtkPrintOperationPreview"] = wrapPrintOperationPreview
|
|
WrapMap["GtkPrintSettings"] = wrapPrintSettings
|
|
}
|
|
|
|
/*
|
|
* Constants
|
|
*/
|
|
|
|
// NumberUpLayout is a representation of GTK's GtkNumberUpLayout.
|
|
type NumberUpLayout int
|
|
|
|
const (
|
|
NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM NumberUpLayout = C.GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM
|
|
NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP NumberUpLayout = C.GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP
|
|
NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM NumberUpLayout = C.GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM
|
|
NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP NumberUpLayout = C.GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP
|
|
NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT NumberUpLayout = C.GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT
|
|
NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT NumberUpLayout = C.GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT
|
|
NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT NumberUpLayout = C.GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT
|
|
NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT NumberUpLayout = C.GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT
|
|
)
|
|
|
|
func marshalNumberUpLayout(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_enum((*C.GValue)(unsafe.Pointer(p)))
|
|
return NumberUpLayout(c), nil
|
|
}
|
|
|
|
// PageOrientation is a representation of GTK's GtkPageOrientation.
|
|
type PageOrientation int
|
|
|
|
const (
|
|
PAGE_ORIENTATION_PORTRAIT PageOrientation = C.GTK_PAGE_ORIENTATION_PORTRAIT
|
|
PAGE_ORIENTATION_LANDSCAPE PageOrientation = C.GTK_PAGE_ORIENTATION_LANDSCAPE
|
|
PAGE_ORIENTATION_REVERSE_PORTRAIT PageOrientation = C.GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT
|
|
PAGE_ORIENTATION_REVERSE_LANDSCAPE PageOrientation = C.GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE
|
|
)
|
|
|
|
func marshalPageOrientation(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_enum((*C.GValue)(unsafe.Pointer(p)))
|
|
return PageOrientation(c), nil
|
|
}
|
|
|
|
// PrintDuplex is a representation of GTK's GtkPrintDuplex.
|
|
type PrintDuplex int
|
|
|
|
const (
|
|
PRINT_DUPLEX_SIMPLEX PrintDuplex = C.GTK_PRINT_DUPLEX_SIMPLEX
|
|
PRINT_DUPLEX_HORIZONTAL PrintDuplex = C.GTK_PRINT_DUPLEX_HORIZONTAL
|
|
PRINT_DUPLEX_VERTICAL PrintDuplex = C.GTK_PRINT_DUPLEX_VERTICAL
|
|
)
|
|
|
|
func marshalPrintDuplex(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_enum((*C.GValue)(unsafe.Pointer(p)))
|
|
return PrintDuplex(c), nil
|
|
}
|
|
|
|
// PrintPages is a representation of GTK's GtkPrintPages.
|
|
type PrintPages int
|
|
|
|
const (
|
|
PRINT_PAGES_ALL PrintPages = C.GTK_PRINT_PAGES_ALL
|
|
PRINT_PAGES_CURRENT PrintPages = C.GTK_PRINT_PAGES_CURRENT
|
|
PRINT_PAGES_RANGES PrintPages = C.GTK_PRINT_PAGES_RANGES
|
|
PRINT_PAGES_SELECTION PrintPages = C.GTK_PRINT_PAGES_SELECTION
|
|
)
|
|
|
|
func marshalPrintPages(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_enum((*C.GValue)(unsafe.Pointer(p)))
|
|
return PrintPages(c), nil
|
|
}
|
|
|
|
// PageSet is a representation of GTK's GtkPageSet.
|
|
type PageSet int
|
|
|
|
const (
|
|
PAGE_SET_ALL PageSet = C.GTK_PAGE_SET_ALL
|
|
PAGE_SET_EVEN PageSet = C.GTK_PAGE_SET_EVEN
|
|
PAGE_SET_ODD PageSet = C.GTK_PAGE_SET_ODD
|
|
)
|
|
|
|
func marshalPageSet(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_enum((*C.GValue)(unsafe.Pointer(p)))
|
|
return PageSet(c), nil
|
|
}
|
|
|
|
// PrintOperationAction is a representation of GTK's GtkPrintError.
|
|
type PrintError int
|
|
|
|
const (
|
|
PRINT_ERROR_GENERAL PrintError = C.GTK_PRINT_ERROR_GENERAL
|
|
PRINT_ERROR_INTERNAL_ERROR PrintError = C.GTK_PRINT_ERROR_INTERNAL_ERROR
|
|
PRINT_ERROR_NOMEM PrintError = C.GTK_PRINT_ERROR_NOMEM
|
|
PRINT_ERROR_INVALID_FILE PrintError = C.GTK_PRINT_ERROR_INVALID_FILE
|
|
)
|
|
|
|
func marshalPrintError(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_enum((*C.GValue)(unsafe.Pointer(p)))
|
|
return PrintError(c), nil
|
|
}
|
|
|
|
// PrintOperationAction is a representation of GTK's GtkPrintOperationAction.
|
|
type PrintOperationAction int
|
|
|
|
const (
|
|
PRINT_OPERATION_ACTION_PRINT_DIALOG PrintOperationAction = C.GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG
|
|
PRINT_OPERATION_ACTION_PRINT PrintOperationAction = C.GTK_PRINT_OPERATION_ACTION_PRINT
|
|
PRINT_OPERATION_ACTION_PREVIEW PrintOperationAction = C.GTK_PRINT_OPERATION_ACTION_PREVIEW
|
|
PRINT_OPERATION_ACTION_EXPORT PrintOperationAction = C.GTK_PRINT_OPERATION_ACTION_EXPORT
|
|
)
|
|
|
|
func marshalPrintOperationAction(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_enum((*C.GValue)(unsafe.Pointer(p)))
|
|
return PrintOperationAction(c), nil
|
|
}
|
|
|
|
// PrintOperationResult is a representation of GTK's GtkPrintOperationResult.
|
|
type PrintOperationResult int
|
|
|
|
const (
|
|
PRINT_OPERATION_RESULT_ERROR PrintOperationResult = C.GTK_PRINT_OPERATION_RESULT_ERROR
|
|
PRINT_OPERATION_RESULT_APPLY PrintOperationResult = C.GTK_PRINT_OPERATION_RESULT_APPLY
|
|
PRINT_OPERATION_RESULT_CANCEL PrintOperationResult = C.GTK_PRINT_OPERATION_RESULT_CANCEL
|
|
PRINT_OPERATION_RESULT_IN_PROGRESS PrintOperationResult = C.GTK_PRINT_OPERATION_RESULT_IN_PROGRESS
|
|
)
|
|
|
|
func marshalPrintOperationResult(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_enum((*C.GValue)(unsafe.Pointer(p)))
|
|
return PrintOperationResult(c), nil
|
|
}
|
|
|
|
// PrintStatus is a representation of GTK's GtkPrintStatus.
|
|
type PrintStatus int
|
|
|
|
const (
|
|
PRINT_STATUS_INITIAL PrintStatus = C.GTK_PRINT_STATUS_INITIAL
|
|
PRINT_STATUS_PREPARING PrintStatus = C.GTK_PRINT_STATUS_PREPARING
|
|
PRINT_STATUS_GENERATING_DATA PrintStatus = C.GTK_PRINT_STATUS_GENERATING_DATA
|
|
PRINT_STATUS_SENDING_DATA PrintStatus = C.GTK_PRINT_STATUS_SENDING_DATA
|
|
PRINT_STATUS_PENDING PrintStatus = C.GTK_PRINT_STATUS_PENDING
|
|
PRINT_STATUS_PENDING_ISSUE PrintStatus = C.GTK_PRINT_STATUS_PENDING_ISSUE
|
|
PRINT_STATUS_PRINTING PrintStatus = C.GTK_PRINT_STATUS_PRINTING
|
|
PRINT_STATUS_FINISHED PrintStatus = C.GTK_PRINT_STATUS_FINISHED
|
|
PRINT_STATUS_FINISHED_ABORTED PrintStatus = C.GTK_PRINT_STATUS_FINISHED_ABORTED
|
|
)
|
|
|
|
func marshalPrintStatus(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_enum((*C.GValue)(unsafe.Pointer(p)))
|
|
return PrintStatus(c), nil
|
|
}
|
|
|
|
// PrintQuality is a representation of GTK's GtkPrintQuality.
|
|
type PrintQuality int
|
|
|
|
const (
|
|
PRINT_QUALITY_LOW PrintQuality = C.GTK_PRINT_QUALITY_LOW
|
|
PRINT_QUALITY_NORMAL PrintQuality = C.GTK_PRINT_QUALITY_NORMAL
|
|
PRINT_QUALITY_HIGH PrintQuality = C.GTK_PRINT_QUALITY_HIGH
|
|
PRINT_QUALITY_DRAFT PrintQuality = C.GTK_PRINT_QUALITY_DRAFT
|
|
)
|
|
|
|
func marshalPrintQuality(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_enum((*C.GValue)(unsafe.Pointer(p)))
|
|
return PrintQuality(c), nil
|
|
}
|
|
|
|
// Unit is a representation of GTK's GtkUnit.
|
|
type Unit int
|
|
|
|
const (
|
|
GTK_UNIT_NONE Unit = C.GTK_UNIT_NONE
|
|
GTK_UNIT_POINTS Unit = C.GTK_UNIT_POINTS
|
|
GTK_UNIT_INCH Unit = C.GTK_UNIT_INCH
|
|
GTK_UNIT_MM Unit = C.GTK_UNIT_MM
|
|
)
|
|
|
|
func marshalUnit(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_enum((*C.GValue)(unsafe.Pointer(p)))
|
|
return Unit(c), nil
|
|
}
|
|
|
|
/*
|
|
* GtkPageRanges
|
|
*/
|
|
type PageRanges struct {
|
|
ranges []C.GtkPageRange
|
|
}
|
|
|
|
// free() is a wrapper around g_free.
|
|
func (pr *PageRanges) free() {
|
|
C.g_free((C.gpointer)(unsafe.Pointer(&pr.ranges[0])))
|
|
}
|
|
|
|
/*
|
|
* GtkPageSetup
|
|
*/
|
|
type PageSetup struct {
|
|
*glib.Object
|
|
}
|
|
|
|
func (ps *PageSetup) native() *C.GtkPageSetup {
|
|
if ps == nil || ps.GObject == nil {
|
|
return nil
|
|
}
|
|
p := unsafe.Pointer(ps.GObject)
|
|
return C.toGtkPageSetup(p)
|
|
}
|
|
|
|
func marshalPageSetup(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_object((*C.GValue)(unsafe.Pointer(p)))
|
|
obj := wrapObject(unsafe.Pointer(c))
|
|
return wrapPageSetup(obj), nil
|
|
}
|
|
|
|
func wrapPageSetup(obj *glib.Object) *PageSetup {
|
|
return &PageSetup{obj}
|
|
}
|
|
|
|
// PageSetupNew() is a wrapper around gtk_page_setup_new().
|
|
func PageSetupNew() (*PageSetup, error) {
|
|
c := C.gtk_page_setup_new()
|
|
if c == nil {
|
|
return nil, nilPtrErr
|
|
}
|
|
obj := wrapObject(unsafe.Pointer(c))
|
|
return wrapPageSetup(obj), nil
|
|
}
|
|
|
|
// Copy() is a wrapper around gtk_page_setup_copy().
|
|
func (ps *PageSetup) Copy() (*PageSetup, error) {
|
|
c := C.gtk_page_setup_copy(ps.native())
|
|
if c == nil {
|
|
return nil, nilPtrErr
|
|
}
|
|
obj := wrapObject(unsafe.Pointer(c))
|
|
return wrapPageSetup(obj), nil
|
|
}
|
|
|
|
// GetOrientation() is a wrapper around gtk_page_setup_get_orientation().
|
|
func (ps *PageSetup) GetOrientation() PageOrientation {
|
|
c := C.gtk_page_setup_get_orientation(ps.native())
|
|
return PageOrientation(c)
|
|
}
|
|
|
|
// SetOrientation() is a wrapper around gtk_page_setup_set_orientation().
|
|
func (ps *PageSetup) SetOrientation(orientation PageOrientation) {
|
|
C.gtk_page_setup_set_orientation(ps.native(), C.GtkPageOrientation(orientation))
|
|
}
|
|
|
|
// GetPaperSize() is a wrapper around gtk_page_setup_get_paper_size().
|
|
func (ps *PageSetup) GetPaperSize() *PaperSize {
|
|
c := C.gtk_page_setup_get_paper_size(ps.native())
|
|
p := &PaperSize{c}
|
|
runtime.SetFinalizer(p, (*PaperSize).free)
|
|
return p
|
|
}
|
|
|
|
// SetPaperSize() is a wrapper around gtk_page_setup_set_paper_size().
|
|
func (ps *PageSetup) SetPaperSize(size *PaperSize) {
|
|
C.gtk_page_setup_set_paper_size(ps.native(), size.native())
|
|
}
|
|
|
|
// GetTopMargin() is a wrapper around gtk_page_setup_get_top_margin().
|
|
func (ps *PageSetup) GetTopMargin(unit Unit) float64 {
|
|
c := C.gtk_page_setup_get_top_margin(ps.native(), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// SetTopMargin() is a wrapper around gtk_page_setup_set_top_margin().
|
|
func (ps *PageSetup) SetTopMargin(margin float64, unit Unit) {
|
|
C.gtk_page_setup_set_top_margin(ps.native(), C.gdouble(margin), C.GtkUnit(unit))
|
|
}
|
|
|
|
// GetBottomMargin() is a wrapper around gtk_page_setup_get_bottom_margin().
|
|
func (ps *PageSetup) GetBottomMargin(unit Unit) float64 {
|
|
c := C.gtk_page_setup_get_bottom_margin(ps.native(), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// SetBottomMargin() is a wrapper around gtk_page_setup_set_bottom_margin().
|
|
func (ps *PageSetup) SetBottomMargin(margin float64, unit Unit) {
|
|
C.gtk_page_setup_set_bottom_margin(ps.native(), C.gdouble(margin), C.GtkUnit(unit))
|
|
}
|
|
|
|
// GetLeftMargin() is a wrapper around gtk_page_setup_get_left_margin().
|
|
func (ps *PageSetup) GetLeftMargin(unit Unit) float64 {
|
|
c := C.gtk_page_setup_get_left_margin(ps.native(), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// SetLeftMargin() is a wrapper around gtk_page_setup_set_left_margin().
|
|
func (ps *PageSetup) SetLeftMargin(margin float64, unit Unit) {
|
|
C.gtk_page_setup_set_left_margin(ps.native(), C.gdouble(margin), C.GtkUnit(unit))
|
|
}
|
|
|
|
// GetRightMargin() is a wrapper around gtk_page_setup_get_right_margin().
|
|
func (ps *PageSetup) GetRightMargin(unit Unit) float64 {
|
|
c := C.gtk_page_setup_get_right_margin(ps.native(), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// SetRightMargin() is a wrapper around gtk_page_setup_set_right_margin().
|
|
func (ps *PageSetup) SetRightMargin(margin float64, unit Unit) {
|
|
C.gtk_page_setup_set_right_margin(ps.native(), C.gdouble(margin), C.GtkUnit(unit))
|
|
}
|
|
|
|
// SetPaperSizeAndDefaultMargins() is a wrapper around gtk_page_setup_set_paper_size_and_default_margins().
|
|
func (ps *PageSetup) SetPaperSizeAndDefaultMargins(size *PaperSize) {
|
|
C.gtk_page_setup_set_paper_size_and_default_margins(ps.native(), size.native())
|
|
}
|
|
|
|
// GetPaperWidth() is a wrapper around gtk_page_setup_get_paper_width().
|
|
func (ps *PageSetup) GetPaperWidth(unit Unit) float64 {
|
|
c := C.gtk_page_setup_get_paper_width(ps.native(), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// GetPaperHeight() is a wrapper around gtk_page_setup_get_paper_height().
|
|
func (ps *PageSetup) GetPaperHeight(unit Unit) float64 {
|
|
c := C.gtk_page_setup_get_paper_height(ps.native(), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// GetPageWidth() is a wrapper around gtk_page_setup_get_page_width().
|
|
func (ps *PageSetup) GetPageWidth(unit Unit) float64 {
|
|
c := C.gtk_page_setup_get_page_width(ps.native(), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// GetPageHeight() is a wrapper around gtk_page_setup_get_page_height().
|
|
func (ps *PageSetup) GetPageHeight(unit Unit) float64 {
|
|
c := C.gtk_page_setup_get_page_height(ps.native(), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// PageSetupNewFromFile() is a wrapper around gtk_page_setup_new_from_file().
|
|
func PageSetupNewFromFile(fileName string) (*PageSetup, error) {
|
|
cstr := C.CString(fileName)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
var err *C.GError = nil
|
|
c := C.gtk_page_setup_new_from_file((*C.gchar)(cstr), &err)
|
|
if c == nil {
|
|
defer C.g_error_free(err)
|
|
return nil, errors.New(C.GoString((*C.char)(err.message)))
|
|
}
|
|
obj := wrapObject(unsafe.Pointer(c))
|
|
return &PageSetup{obj}, nil
|
|
|
|
}
|
|
|
|
// PageSetupNewFromKeyFile() is a wrapper around gtk_page_setup_new_from_key_file().
|
|
|
|
// PageSetupLoadFile() is a wrapper around gtk_page_setup_load_file().
|
|
func (ps *PageSetup) PageSetupLoadFile(name string) error {
|
|
cstr := C.CString(name)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
var err *C.GError = nil
|
|
res := C.gtk_page_setup_load_file(ps.native(), cstr, &err)
|
|
if !gobool(res) {
|
|
defer C.g_error_free(err)
|
|
return errors.New(C.GoString((*C.char)(err.message)))
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PageSetupLoadKeyFile() is a wrapper around gtk_page_setup_load_key_file().
|
|
|
|
// PageSetupToFile() is a wrapper around gtk_page_setup_to_file().
|
|
func (ps *PageSetup) PageSetupToFile(name string) error {
|
|
cstr := C.CString(name)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
var err *C.GError = nil
|
|
res := C.gtk_page_setup_to_file(ps.native(), cstr, &err)
|
|
if !gobool(res) {
|
|
defer C.g_error_free(err)
|
|
return errors.New(C.GoString((*C.char)(err.message)))
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PageSetupToKeyFile() is a wrapper around gtk_page_setup_to_key_file().
|
|
|
|
/*
|
|
* GtkPaperSize
|
|
*/
|
|
|
|
// PaperSize is a representation of GTK's GtkPaperSize
|
|
type PaperSize struct {
|
|
GtkPaperSize *C.GtkPaperSize
|
|
}
|
|
|
|
// native returns a pointer to the underlying GtkPaperSize.
|
|
func (ps *PaperSize) native() *C.GtkPaperSize {
|
|
if ps == nil {
|
|
return nil
|
|
}
|
|
return ps.GtkPaperSize
|
|
}
|
|
|
|
func marshalPaperSize(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_boxed((*C.GValue)(unsafe.Pointer(p)))
|
|
return &PaperSize{(*C.GtkPaperSize)(unsafe.Pointer(c))}, nil
|
|
}
|
|
|
|
const (
|
|
UNIT_PIXEL int = C.GTK_UNIT_PIXEL
|
|
PAPER_NAME_A3 string = C.GTK_PAPER_NAME_A3
|
|
PAPER_NAME_A4 string = C.GTK_PAPER_NAME_A4
|
|
PAPER_NAME_A5 string = C.GTK_PAPER_NAME_A5
|
|
PAPER_NAME_B5 string = C.GTK_PAPER_NAME_B5
|
|
PAPER_NAME_LETTER string = C.GTK_PAPER_NAME_LETTER
|
|
PAPER_NAME_EXECUTIVE string = C.GTK_PAPER_NAME_EXECUTIVE
|
|
PAPER_NAME_LEGAL string = C.GTK_PAPER_NAME_LEGAL
|
|
)
|
|
|
|
// PaperSizeNew() is a wrapper around gtk_paper_size_new().
|
|
func PaperSizeNew(name string) (*PaperSize, error) {
|
|
cstr := C.CString(name)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
var gName *C.gchar
|
|
|
|
if name == "" {
|
|
gName = nil
|
|
} else {
|
|
gName = (*C.gchar)(cstr)
|
|
}
|
|
|
|
c := C.gtk_paper_size_new(gName)
|
|
if c == nil {
|
|
return nil, nilPtrErr
|
|
}
|
|
|
|
t := &PaperSize{c}
|
|
runtime.SetFinalizer(t, (*PaperSize).free)
|
|
return t, nil
|
|
}
|
|
|
|
// PaperSizeNewFromPPD() is a wrapper around gtk_paper_size_new_from_ppd().
|
|
func PaperSizeNewFromPPD(name, displayName string, width, height float64) (*PaperSize, error) {
|
|
cName := C.CString(name)
|
|
defer C.free(unsafe.Pointer(cName))
|
|
cDisplayName := C.CString(displayName)
|
|
defer C.free(unsafe.Pointer(cDisplayName))
|
|
c := C.gtk_paper_size_new_from_ppd((*C.gchar)(cName), (*C.gchar)(cDisplayName),
|
|
C.gdouble(width), C.gdouble(height))
|
|
if c == nil {
|
|
return nil, nilPtrErr
|
|
}
|
|
t := &PaperSize{c}
|
|
runtime.SetFinalizer(t, (*PaperSize).free)
|
|
return t, nil
|
|
}
|
|
|
|
// PaperSizeNewCustom() is a wrapper around gtk_paper_size_new_custom().
|
|
func PaperSizeNewCustom(name, displayName string, width, height float64, unit Unit) (*PaperSize, error) {
|
|
cName := C.CString(name)
|
|
defer C.free(unsafe.Pointer(cName))
|
|
cDisplayName := C.CString(displayName)
|
|
defer C.free(unsafe.Pointer(cDisplayName))
|
|
c := C.gtk_paper_size_new_custom((*C.gchar)(cName), (*C.gchar)(cDisplayName),
|
|
C.gdouble(width), C.gdouble(height), C.GtkUnit(unit))
|
|
if c == nil {
|
|
return nil, nilPtrErr
|
|
}
|
|
t := &PaperSize{c}
|
|
runtime.SetFinalizer(t, (*PaperSize).free)
|
|
return t, nil
|
|
}
|
|
|
|
// Copy() is a wrapper around gtk_paper_size_copy().
|
|
func (ps *PaperSize) Copy() (*PaperSize, error) {
|
|
c := C.gtk_paper_size_copy(ps.native())
|
|
if c == nil {
|
|
return nil, nilPtrErr
|
|
}
|
|
t := &PaperSize{c}
|
|
runtime.SetFinalizer(t, (*PaperSize).free)
|
|
return t, nil
|
|
}
|
|
|
|
// free() is a wrapper around gtk_paper_size_free().
|
|
func (ps *PaperSize) free() {
|
|
C.gtk_paper_size_free(ps.native())
|
|
}
|
|
|
|
// IsEqual() is a wrapper around gtk_paper_size_is_equal().
|
|
func (ps *PaperSize) IsEqual(other *PaperSize) bool {
|
|
c := C.gtk_paper_size_is_equal(ps.native(), other.native())
|
|
return gobool(c)
|
|
}
|
|
|
|
// PaperSizeGetPaperSizes() is a wrapper around gtk_paper_size_get_paper_sizes().
|
|
func PaperSizeGetPaperSizes(includeCustom bool) *glib.List {
|
|
clist := C.gtk_paper_size_get_paper_sizes(gbool(includeCustom))
|
|
if clist == nil {
|
|
return nil
|
|
}
|
|
|
|
glist := glib.WrapList(uintptr(unsafe.Pointer(clist)))
|
|
glist.DataWrapper(func(ptr unsafe.Pointer) interface{} {
|
|
return &PaperSize{(*C.GtkPaperSize)(ptr)}
|
|
})
|
|
|
|
runtime.SetFinalizer(glist, func(glist *glib.List) {
|
|
glist.FreeFull(func(item interface{}) {
|
|
ps := item.(*PaperSize)
|
|
C.gtk_paper_size_free(ps.GtkPaperSize)
|
|
})
|
|
})
|
|
|
|
return glist
|
|
}
|
|
|
|
// GetName() is a wrapper around gtk_paper_size_get_name().
|
|
func (ps *PaperSize) GetName() string {
|
|
c := C.gtk_paper_size_get_name(ps.native())
|
|
return C.GoString((*C.char)(c))
|
|
}
|
|
|
|
// GetDisplayName() is a wrapper around gtk_paper_size_get_display_name().
|
|
func (ps *PaperSize) GetDisplayName() string {
|
|
c := C.gtk_paper_size_get_display_name(ps.native())
|
|
return C.GoString((*C.char)(c))
|
|
}
|
|
|
|
// GetPPDName() is a wrapper around gtk_paper_size_get_ppd_name().
|
|
func (ps *PaperSize) GetPPDName() (string, error) {
|
|
c := C.gtk_paper_size_get_ppd_name(ps.native())
|
|
if c == nil {
|
|
return "", nilPtrErr
|
|
}
|
|
return C.GoString((*C.char)(c)), nil
|
|
}
|
|
|
|
// GetWidth() is a wrapper around gtk_paper_size_get_width().
|
|
func (ps *PaperSize) GetWidth(unit Unit) float64 {
|
|
c := C.gtk_paper_size_get_width(ps.native(), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// GetHeight() is a wrapper around gtk_paper_size_get_height().
|
|
func (ps *PaperSize) GetHeight(unit Unit) float64 {
|
|
c := C.gtk_paper_size_get_width(ps.native(), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// IsCustom() is a wrapper around gtk_paper_size_is_custom().
|
|
func (ps *PaperSize) IsCustom() bool {
|
|
c := C.gtk_paper_size_is_custom(ps.native())
|
|
return gobool(c)
|
|
}
|
|
|
|
// SetSize() is a wrapper around gtk_paper_size_set_size().
|
|
func (ps *PaperSize) SetSize(width, height float64, unit Unit) {
|
|
C.gtk_paper_size_set_size(ps.native(), C.gdouble(width), C.gdouble(height), C.GtkUnit(unit))
|
|
}
|
|
|
|
// GetDefaultTopMargin() is a wrapper around gtk_paper_size_get_default_top_margin().
|
|
func (ps *PaperSize) GetDefaultTopMargin(unit Unit) float64 {
|
|
c := C.gtk_paper_size_get_default_top_margin(ps.native(), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// GetDefaultBottomMargin() is a wrapper around gtk_paper_size_get_default_bottom_margin().
|
|
func (ps *PaperSize) GetDefaultBottomMargin(unit Unit) float64 {
|
|
c := C.gtk_paper_size_get_default_bottom_margin(ps.native(), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// GetDefaultLeftMargin() is a wrapper around gtk_paper_size_get_default_left_margin().
|
|
func (ps *PaperSize) GetDefaultLeftMargin(unit Unit) float64 {
|
|
c := C.gtk_paper_size_get_default_left_margin(ps.native(), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// GetDefaultRightMargin() is a wrapper around gtk_paper_size_get_default_right_margin().
|
|
func (ps *PaperSize) GetDefaultRightMargin(unit Unit) float64 {
|
|
c := C.gtk_paper_size_get_default_right_margin(ps.native(), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// PaperSizeGetDefault() is a wrapper around gtk_paper_size_get_default().
|
|
func PaperSizeGetDefaultRightMargin(unit Unit) string {
|
|
c := C.gtk_paper_size_get_default()
|
|
return C.GoString((*C.char)(c))
|
|
}
|
|
|
|
// PaperSizeNewFromKeyFile() is a wrapper around gtk_paper_size_new_from_key_file().
|
|
// PaperSizeToKeyFile() is a wrapper around gtk_paper_size_to_key_file().
|
|
|
|
/*
|
|
* GtkPrintContext
|
|
*/
|
|
|
|
// PrintContext is a representation of GTK's GtkPrintContext.
|
|
type PrintContext struct {
|
|
*glib.Object
|
|
}
|
|
|
|
// native() returns a pointer to the underlying GtkPrintContext.
|
|
func (pc *PrintContext) native() *C.GtkPrintContext {
|
|
if pc == nil || pc.GObject == nil {
|
|
return nil
|
|
}
|
|
p := unsafe.Pointer(pc.GObject)
|
|
return C.toGtkPrintContext(p)
|
|
}
|
|
|
|
func marshalPrintContext(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_object((*C.GValue)(unsafe.Pointer(p)))
|
|
obj := wrapObject(unsafe.Pointer(c))
|
|
return wrapPrintContext(obj), nil
|
|
}
|
|
|
|
func wrapPrintContext(obj *glib.Object) *PrintContext {
|
|
return &PrintContext{obj}
|
|
}
|
|
|
|
// GetCairoContext() is a wrapper around gtk_print_context_get_cairo_context().
|
|
func (pc *PrintContext) GetCairoContext() *cairo.Context {
|
|
c := C.gtk_print_context_get_cairo_context(pc.native())
|
|
return cairo.WrapContext(uintptr(unsafe.Pointer(c)))
|
|
}
|
|
|
|
// SetCairoContext() is a wrapper around gtk_print_context_set_cairo_context().
|
|
func (pc *PrintContext) SetCairoContext(cr *cairo.Context, dpiX, dpiY float64) {
|
|
C.gtk_print_context_set_cairo_context(pc.native(),
|
|
(*C.cairo_t)(unsafe.Pointer(cr.Native())),
|
|
C.double(dpiX), C.double(dpiY))
|
|
}
|
|
|
|
// GetPageSetup() is a wrapper around gtk_print_context_get_page_setup().
|
|
func (pc *PrintContext) GetPageSetup() *PageSetup {
|
|
c := C.gtk_print_context_get_page_setup(pc.native())
|
|
obj := wrapObject(unsafe.Pointer(c))
|
|
return wrapPageSetup(obj)
|
|
}
|
|
|
|
// GetWidth() is a wrapper around gtk_print_context_get_width().
|
|
func (pc *PrintContext) GetWidth() float64 {
|
|
c := C.gtk_print_context_get_width(pc.native())
|
|
return float64(c)
|
|
}
|
|
|
|
// GetHeight() is a wrapper around gtk_print_context_get_height().
|
|
func (pc *PrintContext) GetHeight() float64 {
|
|
c := C.gtk_print_context_get_height(pc.native())
|
|
return float64(c)
|
|
}
|
|
|
|
// GetDpiX() is a wrapper around gtk_print_context_get_dpi_x().
|
|
func (pc *PrintContext) GetDpiX() float64 {
|
|
c := C.gtk_print_context_get_dpi_x(pc.native())
|
|
return float64(c)
|
|
}
|
|
|
|
// GetDpiY() is a wrapper around gtk_print_context_get_dpi_y().
|
|
func (pc *PrintContext) GetDpiY() float64 {
|
|
c := C.gtk_print_context_get_dpi_y(pc.native())
|
|
return float64(c)
|
|
}
|
|
|
|
// GetPangoFontMap() is a wrapper around gtk_print_context_get_pango_fontmap().
|
|
func (pc *PrintContext) GetPangoFontMap() *pango.FontMap {
|
|
c := C.gtk_print_context_get_pango_fontmap(pc.native())
|
|
return pango.WrapFontMap(uintptr(unsafe.Pointer(c)))
|
|
}
|
|
|
|
// CreatePangoContext() is a wrapper around gtk_print_context_create_pango_context().
|
|
func (pc *PrintContext) CreatePangoContext() *pango.Context {
|
|
c := C.gtk_print_context_create_pango_context(pc.native())
|
|
return pango.WrapContext(uintptr(unsafe.Pointer(c)))
|
|
}
|
|
|
|
// CreatePangoLayout() is a wrapper around gtk_print_context_create_pango_layout().
|
|
func (pc *PrintContext) CreatePangoLayout() *pango.Layout {
|
|
c := C.gtk_print_context_create_pango_layout(pc.native())
|
|
return pango.WrapLayout(uintptr(unsafe.Pointer(c)))
|
|
}
|
|
|
|
// GetHardMargins() is a wrapper around gtk_print_context_get_hard_margins().
|
|
func (pc *PrintContext) GetHardMargins() (float64, float64, float64, float64, error) {
|
|
var top, bottom, left, right C.gdouble
|
|
c := C.gtk_print_context_get_hard_margins(pc.native(), &top, &bottom, &left, &right)
|
|
if gobool(c) == false {
|
|
return 0.0, 0.0, 0.0, 0.0, errors.New("unable to retrieve hard margins")
|
|
}
|
|
return float64(top), float64(bottom), float64(left), float64(right), nil
|
|
}
|
|
|
|
/*
|
|
* GtkPrintOperation
|
|
*/
|
|
type PrintOperation struct {
|
|
*glib.Object
|
|
|
|
// Interfaces
|
|
PrintOperationPreview
|
|
}
|
|
|
|
func (po *PrintOperation) native() *C.GtkPrintOperation {
|
|
if po == nil || po.GObject == nil {
|
|
return nil
|
|
}
|
|
p := unsafe.Pointer(po.GObject)
|
|
return C.toGtkPrintOperation(p)
|
|
}
|
|
|
|
func (v *PrintOperation) toPrintOperationPreview() *C.GtkPrintOperationPreview {
|
|
if v == nil {
|
|
return nil
|
|
}
|
|
return C.toGtkPrintOperationPreview(unsafe.Pointer(v.GObject))
|
|
}
|
|
|
|
func marshalPrintOperation(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_object((*C.GValue)(unsafe.Pointer(p)))
|
|
obj := wrapObject(unsafe.Pointer(c))
|
|
return wrapPrintOperation(obj), nil
|
|
}
|
|
|
|
func wrapPrintOperation(obj *glib.Object) *PrintOperation {
|
|
pop := wrapPrintOperationPreview(obj)
|
|
return &PrintOperation{obj, *pop}
|
|
}
|
|
|
|
// PrintOperationNew() is a wrapper around gtk_print_operation_new().
|
|
func PrintOperationNew() (*PrintOperation, error) {
|
|
c := C.gtk_print_operation_new()
|
|
if c == nil {
|
|
return nil, nilPtrErr
|
|
}
|
|
obj := wrapObject(unsafe.Pointer(c))
|
|
return wrapPrintOperation(obj), nil
|
|
}
|
|
|
|
// SetAllowAsync() is a wrapper around gtk_print_operation_set_allow_async().
|
|
func (po *PrintOperation) PrintOperationSetAllowAsync(allowSync bool) {
|
|
C.gtk_print_operation_set_allow_async(po.native(), gbool(allowSync))
|
|
}
|
|
|
|
// GetError() is a wrapper around gtk_print_operation_get_error().
|
|
func (po *PrintOperation) PrintOperationGetError() error {
|
|
var err *C.GError = nil
|
|
C.gtk_print_operation_get_error(po.native(), &err)
|
|
defer C.g_error_free(err)
|
|
return errors.New(C.GoString((*C.char)(err.message)))
|
|
}
|
|
|
|
// SetDefaultPageSetup() is a wrapper around gtk_print_operation_set_default_page_setup().
|
|
func (po *PrintOperation) SetDefaultPageSetup(ps *PageSetup) {
|
|
C.gtk_print_operation_set_default_page_setup(po.native(), ps.native())
|
|
}
|
|
|
|
// GetDefaultPageSetup() is a wrapper around gtk_print_operation_get_default_page_setup().
|
|
func (po *PrintOperation) GetDefaultPageSetup() (*PageSetup, error) {
|
|
c := C.gtk_print_operation_get_default_page_setup(po.native())
|
|
if c == nil {
|
|
return nil, nilPtrErr
|
|
}
|
|
obj := wrapObject(unsafe.Pointer(c))
|
|
return wrapPageSetup(obj), nil
|
|
}
|
|
|
|
// SetPrintSettings() is a wrapper around gtk_print_operation_set_print_settings().
|
|
func (po *PrintOperation) SetPrintSettings(ps *PrintSettings) {
|
|
C.gtk_print_operation_set_print_settings(po.native(), ps.native())
|
|
}
|
|
|
|
// GetPrintSettings() is a wrapper around gtk_print_operation_get_print_settings().
|
|
func (po *PrintOperation) GetPrintSettings(ps *PageSetup) (*PrintSettings, error) {
|
|
c := C.gtk_print_operation_get_print_settings(po.native())
|
|
if c == nil {
|
|
return nil, nilPtrErr
|
|
}
|
|
obj := wrapObject(unsafe.Pointer(c))
|
|
return wrapPrintSettings(obj), nil
|
|
}
|
|
|
|
// SetJobName() is a wrapper around gtk_print_operation_set_job_name().
|
|
func (po *PrintOperation) SetJobName(name string) {
|
|
cstr := C.CString(name)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
C.gtk_print_operation_set_job_name(po.native(), (*C.gchar)(cstr))
|
|
}
|
|
|
|
// SetNPages() is a wrapper around gtk_print_operation_set_n_pages().
|
|
func (po *PrintOperation) SetNPages(pages int) {
|
|
C.gtk_print_operation_set_n_pages(po.native(), C.gint(pages))
|
|
}
|
|
|
|
// GetNPagesToPrint() is a wrapper around gtk_print_operation_get_n_pages_to_print().
|
|
func (po *PrintOperation) GetNPagesToPrint() int {
|
|
c := C.gtk_print_operation_get_n_pages_to_print(po.native())
|
|
return int(c)
|
|
}
|
|
|
|
// SetCurrentPage() is a wrapper around gtk_print_operation_set_current_page().
|
|
func (po *PrintOperation) SetCurrentPage(page int) {
|
|
C.gtk_print_operation_set_current_page(po.native(), C.gint(page))
|
|
}
|
|
|
|
// SetUseFullPage() is a wrapper around gtk_print_operation_set_use_full_page().
|
|
func (po *PrintOperation) SetUseFullPage(full bool) {
|
|
C.gtk_print_operation_set_use_full_page(po.native(), gbool(full))
|
|
}
|
|
|
|
// SetUnit() is a wrapper around gtk_print_operation_set_unit().
|
|
func (po *PrintOperation) SetUnit(unit Unit) {
|
|
C.gtk_print_operation_set_unit(po.native(), C.GtkUnit(unit))
|
|
}
|
|
|
|
// SetExportFilename() is a wrapper around gtk_print_operation_set_export_filename().
|
|
func (po *PrintOperation) SetExportFilename(name string) {
|
|
cstr := C.CString(name)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
C.gtk_print_operation_set_export_filename(po.native(), (*C.gchar)(cstr))
|
|
}
|
|
|
|
// SetShowProgress() is a wrapper around gtk_print_operation_set_show_progress().
|
|
func (po *PrintOperation) SetShowProgress(show bool) {
|
|
C.gtk_print_operation_set_show_progress(po.native(), gbool(show))
|
|
}
|
|
|
|
// SetTrackPrintStatus() is a wrapper around gtk_print_operation_set_track_print_status().
|
|
func (po *PrintOperation) SetTrackPrintStatus(progress bool) {
|
|
C.gtk_print_operation_set_track_print_status(po.native(), gbool(progress))
|
|
}
|
|
|
|
// SetCustomTabLabel() is a wrapper around gtk_print_operation_set_custom_tab_label().
|
|
func (po *PrintOperation) SetCustomTabLabel(label string) {
|
|
cstr := C.CString(label)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
C.gtk_print_operation_set_custom_tab_label(po.native(), (*C.gchar)(cstr))
|
|
}
|
|
|
|
// Run() is a wrapper around gtk_print_operation_run().
|
|
func (po *PrintOperation) Run(action PrintOperationAction, parent *Window) (PrintOperationResult, error) {
|
|
var err *C.GError = nil
|
|
c := C.gtk_print_operation_run(po.native(), C.GtkPrintOperationAction(action), parent.native(), &err)
|
|
res := PrintOperationResult(c)
|
|
if res == PRINT_OPERATION_RESULT_ERROR {
|
|
defer C.g_error_free(err)
|
|
return res, errors.New(C.GoString((*C.char)(err.message)))
|
|
}
|
|
return res, nil
|
|
}
|
|
|
|
// Cancel() is a wrapper around gtk_print_operation_cancel().
|
|
func (po *PrintOperation) Cancel() {
|
|
C.gtk_print_operation_cancel(po.native())
|
|
}
|
|
|
|
// DrawPageFinish() is a wrapper around gtk_print_operation_draw_page_finish().
|
|
func (po *PrintOperation) DrawPageFinish() {
|
|
C.gtk_print_operation_draw_page_finish(po.native())
|
|
}
|
|
|
|
// SetDeferDrawing() is a wrapper around gtk_print_operation_set_defer_drawing().
|
|
func (po *PrintOperation) SetDeferDrawing() {
|
|
C.gtk_print_operation_set_defer_drawing(po.native())
|
|
}
|
|
|
|
// GetStatus() is a wrapper around gtk_print_operation_get_status().
|
|
func (po *PrintOperation) GetStatus() PrintStatus {
|
|
c := C.gtk_print_operation_get_status(po.native())
|
|
return PrintStatus(c)
|
|
}
|
|
|
|
// GetStatusString() is a wrapper around gtk_print_operation_get_status_string().
|
|
func (po *PrintOperation) GetStatusString() string {
|
|
c := C.gtk_print_operation_get_status_string(po.native())
|
|
return C.GoString((*C.char)(c))
|
|
}
|
|
|
|
// IsFinished() is a wrapper around gtk_print_operation_is_finished().
|
|
func (po *PrintOperation) IsFinished() bool {
|
|
c := C.gtk_print_operation_is_finished(po.native())
|
|
return gobool(c)
|
|
}
|
|
|
|
// SetSupportSelection() is a wrapper around gtk_print_operation_set_support_selection().
|
|
func (po *PrintOperation) SetSupportSelection(selection bool) {
|
|
C.gtk_print_operation_set_support_selection(po.native(), gbool(selection))
|
|
}
|
|
|
|
// GetSupportSelection() is a wrapper around gtk_print_operation_get_support_selection().
|
|
func (po *PrintOperation) GetSupportSelection() bool {
|
|
c := C.gtk_print_operation_get_support_selection(po.native())
|
|
return gobool(c)
|
|
}
|
|
|
|
// SetHasSelection() is a wrapper around gtk_print_operation_set_has_selection().
|
|
func (po *PrintOperation) SetHasSelection(selection bool) {
|
|
C.gtk_print_operation_set_has_selection(po.native(), gbool(selection))
|
|
}
|
|
|
|
// GetHasSelection() is a wrapper around gtk_print_operation_get_has_selection().
|
|
func (po *PrintOperation) GetHasSelection() bool {
|
|
c := C.gtk_print_operation_get_has_selection(po.native())
|
|
return gobool(c)
|
|
}
|
|
|
|
// SetEmbedPageSetup() is a wrapper around gtk_print_operation_set_embed_page_setup().
|
|
func (po *PrintOperation) SetEmbedPageSetup(embed bool) {
|
|
C.gtk_print_operation_set_embed_page_setup(po.native(), gbool(embed))
|
|
}
|
|
|
|
// GetEmbedPageSetup() is a wrapper around gtk_print_operation_get_embed_page_setup().
|
|
func (po *PrintOperation) GetEmbedPageSetup() bool {
|
|
c := C.gtk_print_operation_get_embed_page_setup(po.native())
|
|
return gobool(c)
|
|
}
|
|
|
|
// PrintRunPageSetupDialog() is a wrapper around gtk_print_run_page_setup_dialog().
|
|
func PrintRunPageSetupDialog(parent *Window, pageSetup *PageSetup, settings *PrintSettings) *PageSetup {
|
|
c := C.gtk_print_run_page_setup_dialog(parent.native(), pageSetup.native(), settings.native())
|
|
obj := wrapObject(unsafe.Pointer(c))
|
|
return wrapPageSetup(obj)
|
|
}
|
|
|
|
type PageSetupDoneCallback func(setup *PageSetup, userData uintptr)
|
|
|
|
type pageSetupDoneCallbackData struct {
|
|
fn PageSetupDoneCallback
|
|
data uintptr
|
|
}
|
|
|
|
var (
|
|
pageSetupDoneCallbackRegistry = struct {
|
|
sync.RWMutex
|
|
next int
|
|
m map[int]pageSetupDoneCallbackData
|
|
}{
|
|
next: 1,
|
|
m: make(map[int]pageSetupDoneCallbackData),
|
|
}
|
|
)
|
|
|
|
// PrintRunPageSetupDialogAsync() is a wrapper around gtk_print_run_page_setup_dialog_async().
|
|
func PrintRunPageSetupDialogAsync(parent *Window, setup *PageSetup,
|
|
settings *PrintSettings, cb PageSetupDoneCallback, data uintptr) {
|
|
|
|
pageSetupDoneCallbackRegistry.Lock()
|
|
id := pageSetupDoneCallbackRegistry.next
|
|
pageSetupDoneCallbackRegistry.next++
|
|
pageSetupDoneCallbackRegistry.m[id] =
|
|
pageSetupDoneCallbackData{fn: cb, data: data}
|
|
pageSetupDoneCallbackRegistry.Unlock()
|
|
|
|
C._gtk_print_run_page_setup_dialog_async(parent.native(), setup.native(),
|
|
settings.native(), C.gpointer(uintptr(id)))
|
|
}
|
|
|
|
/*
|
|
* GtkPrintOperationPreview
|
|
*/
|
|
|
|
// PrintOperationPreview is a representation of GTK's GtkPrintOperationPreview GInterface.
|
|
type PrintOperationPreview struct {
|
|
*glib.Object
|
|
}
|
|
|
|
// IPrintOperationPreview is an interface type implemented by all structs
|
|
// embedding a PrintOperationPreview. It is meant to be used as an argument type
|
|
// for wrapper functions that wrap around a C GTK function taking a
|
|
// GtkPrintOperationPreview.
|
|
type IPrintOperationPreview interface {
|
|
toPrintOperationPreview() *C.GtkPrintOperationPreview
|
|
}
|
|
|
|
// native() returns a pointer to the underlying GObject as a GtkPrintOperationPreview.
|
|
func (v *PrintOperationPreview) native() *C.GtkPrintOperationPreview {
|
|
if v == nil || v.GObject == nil {
|
|
return nil
|
|
}
|
|
p := unsafe.Pointer(v.GObject)
|
|
return C.toGtkPrintOperationPreview(p)
|
|
}
|
|
|
|
func marshalPrintOperationPreview(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_object((*C.GValue)(unsafe.Pointer(p)))
|
|
obj := wrapObject(unsafe.Pointer(c))
|
|
return wrapPrintOperationPreview(obj), nil
|
|
}
|
|
|
|
func wrapPrintOperationPreview(obj *glib.Object) *PrintOperationPreview {
|
|
return &PrintOperationPreview{obj}
|
|
}
|
|
|
|
func (v *PrintOperationPreview) toPrintOperationPreview() *C.GtkPrintOperationPreview {
|
|
if v == nil {
|
|
return nil
|
|
}
|
|
return v.native()
|
|
}
|
|
|
|
// RenderPage()() is a wrapper around gtk_print_operation_preview_render_page().
|
|
func (pop *PrintOperationPreview) RenderPage(page int) {
|
|
C.gtk_print_operation_preview_render_page(pop.native(), C.gint(page))
|
|
}
|
|
|
|
// EndPreview()() is a wrapper around gtk_print_operation_preview_end_preview().
|
|
func (pop *PrintOperationPreview) EndPreview() {
|
|
C.gtk_print_operation_preview_end_preview(pop.native())
|
|
}
|
|
|
|
// IsSelected()() is a wrapper around gtk_print_operation_preview_is_selected().
|
|
func (pop *PrintOperationPreview) IsSelected(page int) bool {
|
|
c := C.gtk_print_operation_preview_is_selected(pop.native(), C.gint(page))
|
|
return gobool(c)
|
|
}
|
|
|
|
/*
|
|
* GtkPrintSettings
|
|
*/
|
|
|
|
type PrintSettings struct {
|
|
*glib.Object
|
|
}
|
|
|
|
func (ps *PrintSettings) native() *C.GtkPrintSettings {
|
|
if ps == nil || ps.GObject == nil {
|
|
return nil
|
|
}
|
|
|
|
p := unsafe.Pointer(ps.GObject)
|
|
return C.toGtkPrintSettings(p)
|
|
}
|
|
|
|
func marshalPrintSettings(p uintptr) (interface{}, error) {
|
|
c := C.g_value_get_object((*C.GValue)(unsafe.Pointer(p)))
|
|
return wrapPrintSettings(wrapObject(unsafe.Pointer(c))), nil
|
|
}
|
|
|
|
func wrapPrintSettings(obj *glib.Object) *PrintSettings {
|
|
return &PrintSettings{obj}
|
|
}
|
|
|
|
const (
|
|
PRINT_SETTINGS_PRINTER string = C.GTK_PRINT_SETTINGS_PRINTER
|
|
PRINT_SETTINGS_ORIENTATION string = C.GTK_PRINT_SETTINGS_ORIENTATION
|
|
PRINT_SETTINGS_PAPER_FORMAT string = C.GTK_PRINT_SETTINGS_PAPER_FORMAT
|
|
PRINT_SETTINGS_PAPER_WIDTH string = C.GTK_PRINT_SETTINGS_PAPER_WIDTH
|
|
PRINT_SETTINGS_PAPER_HEIGHT string = C.GTK_PRINT_SETTINGS_PAPER_HEIGHT
|
|
PRINT_SETTINGS_USE_COLOR string = C.GTK_PRINT_SETTINGS_USE_COLOR
|
|
PRINT_SETTINGS_COLLATE string = C.GTK_PRINT_SETTINGS_COLLATE
|
|
PRINT_SETTINGS_REVERSE string = C.GTK_PRINT_SETTINGS_REVERSE
|
|
PRINT_SETTINGS_DUPLEX string = C.GTK_PRINT_SETTINGS_DUPLEX
|
|
PRINT_SETTINGS_QUALITY string = C.GTK_PRINT_SETTINGS_QUALITY
|
|
PRINT_SETTINGS_N_COPIES string = C.GTK_PRINT_SETTINGS_N_COPIES
|
|
PRINT_SETTINGS_NUMBER_UP string = C.GTK_PRINT_SETTINGS_NUMBER_UP
|
|
PRINT_SETTINGS_NUMBER_UP_LAYOUT string = C.GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT
|
|
PRINT_SETTINGS_RESOLUTION string = C.GTK_PRINT_SETTINGS_RESOLUTION
|
|
PRINT_SETTINGS_RESOLUTION_X string = C.GTK_PRINT_SETTINGS_RESOLUTION_X
|
|
PRINT_SETTINGS_RESOLUTION_Y string = C.GTK_PRINT_SETTINGS_RESOLUTION_Y
|
|
PRINT_SETTINGS_PRINTER_LPI string = C.GTK_PRINT_SETTINGS_PRINTER_LPI
|
|
PRINT_SETTINGS_SCALE string = C.GTK_PRINT_SETTINGS_SCALE
|
|
PRINT_SETTINGS_PRINT_PAGES string = C.GTK_PRINT_SETTINGS_PRINT_PAGES
|
|
PRINT_SETTINGS_PAGE_RANGES string = C.GTK_PRINT_SETTINGS_PAGE_RANGES
|
|
PRINT_SETTINGS_PAGE_SET string = C.GTK_PRINT_SETTINGS_PAGE_SET
|
|
PRINT_SETTINGS_DEFAULT_SOURCE string = C.GTK_PRINT_SETTINGS_DEFAULT_SOURCE
|
|
PRINT_SETTINGS_MEDIA_TYPE string = C.GTK_PRINT_SETTINGS_MEDIA_TYPE
|
|
PRINT_SETTINGS_DITHER string = C.GTK_PRINT_SETTINGS_DITHER
|
|
PRINT_SETTINGS_FINISHINGS string = C.GTK_PRINT_SETTINGS_FINISHINGS
|
|
PRINT_SETTINGS_OUTPUT_BIN string = C.GTK_PRINT_SETTINGS_OUTPUT_BIN
|
|
PRINT_SETTINGS_OUTPUT_DIR string = C.GTK_PRINT_SETTINGS_OUTPUT_DIR
|
|
PRINT_SETTINGS_OUTPUT_BASENAME string = C.GTK_PRINT_SETTINGS_OUTPUT_BASENAME
|
|
PRINT_SETTINGS_OUTPUT_FILE_FORMAT string = C.GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT
|
|
PRINT_SETTINGS_OUTPUT_URI string = C.GTK_PRINT_SETTINGS_OUTPUT_URI
|
|
PRINT_SETTINGS_WIN32_DRIVER_EXTRA string = C.GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA
|
|
PRINT_SETTINGS_WIN32_DRIVER_VERSION string = C.GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION
|
|
)
|
|
|
|
// PrintSettingsNew() is a wrapper around gtk_print_settings_new().
|
|
func PrintSettingsNew() (*PrintSettings, error) {
|
|
c := C.gtk_print_settings_new()
|
|
if c == nil {
|
|
return nil, nilPtrErr
|
|
}
|
|
obj := wrapObject(unsafe.Pointer(c))
|
|
return wrapPrintSettings(obj), nil
|
|
}
|
|
|
|
// Copy() is a wrapper around gtk_print_settings_copy().
|
|
func (ps *PrintSettings) Copy() (*PrintSettings, error) {
|
|
c := C.gtk_print_settings_copy(ps.native())
|
|
if c == nil {
|
|
return nil, nilPtrErr
|
|
}
|
|
obj := wrapObject(unsafe.Pointer(c))
|
|
return wrapPrintSettings(obj), nil
|
|
}
|
|
|
|
// HasKey() is a wrapper around gtk_print_settings_has_key().
|
|
func (ps *PrintSettings) HasKey(key string) bool {
|
|
cstr := C.CString(key)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
c := C.gtk_print_settings_has_key(ps.native(), (*C.gchar)(cstr))
|
|
return gobool(c)
|
|
}
|
|
|
|
// Get() is a wrapper around gtk_print_settings_get().
|
|
func (ps *PrintSettings) Get(key string) string {
|
|
cstr := C.CString(key)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
c := C.gtk_print_settings_get(ps.native(), (*C.gchar)(cstr))
|
|
return C.GoString((*C.char)(c))
|
|
}
|
|
|
|
// Set() is a wrapper around gtk_print_settings_set().
|
|
// TODO: Since value can't be nil, we can't unset values here.
|
|
func (ps *PrintSettings) Set(key, value string) {
|
|
cKey := C.CString(key)
|
|
defer C.free(unsafe.Pointer(cKey))
|
|
cValue := C.CString(value)
|
|
defer C.free(unsafe.Pointer(cValue))
|
|
C.gtk_print_settings_set(ps.native(), (*C.gchar)(cKey), (*C.gchar)(cValue))
|
|
}
|
|
|
|
// Unset() is a wrapper around gtk_print_settings_unset().
|
|
func (ps *PrintSettings) Unset(key string) {
|
|
cstr := C.CString(key)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
C.gtk_print_settings_unset(ps.native(), (*C.gchar)(cstr))
|
|
}
|
|
|
|
type PrintSettingsCallback func(key, value string, userData uintptr)
|
|
|
|
type printSettingsCallbackData struct {
|
|
fn PrintSettingsCallback
|
|
userData uintptr
|
|
}
|
|
|
|
var (
|
|
printSettingsCallbackRegistry = struct {
|
|
sync.RWMutex
|
|
next int
|
|
m map[int]printSettingsCallbackData
|
|
}{
|
|
next: 1,
|
|
m: make(map[int]printSettingsCallbackData),
|
|
}
|
|
)
|
|
|
|
// Foreach() is a wrapper around gtk_print_settings_foreach().
|
|
func (ps *PrintSettings) ForEach(cb PrintSettingsCallback, userData uintptr) {
|
|
printSettingsCallbackRegistry.Lock()
|
|
id := printSettingsCallbackRegistry.next
|
|
printSettingsCallbackRegistry.next++
|
|
printSettingsCallbackRegistry.m[id] =
|
|
printSettingsCallbackData{fn: cb, userData: userData}
|
|
printSettingsCallbackRegistry.Unlock()
|
|
|
|
C._gtk_print_settings_foreach(ps.native(), C.gpointer(uintptr(id)))
|
|
}
|
|
|
|
// GetBool() is a wrapper around gtk_print_settings_get_bool().
|
|
func (ps *PrintSettings) GetBool(key string) bool {
|
|
cstr := C.CString(key)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
c := C.gtk_print_settings_get_bool(ps.native(), (*C.gchar)(cstr))
|
|
return gobool(c)
|
|
}
|
|
|
|
// SetBool() is a wrapper around gtk_print_settings_set_bool().
|
|
func (ps *PrintSettings) SetBool(key string, value bool) {
|
|
cstr := C.CString(key)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
C.gtk_print_settings_set_bool(ps.native(), (*C.gchar)(cstr), gbool(value))
|
|
}
|
|
|
|
// GetDouble() is a wrapper around gtk_print_settings_get_double().
|
|
func (ps *PrintSettings) GetDouble(key string) float64 {
|
|
cstr := C.CString(key)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
c := C.gtk_print_settings_get_double(ps.native(), (*C.gchar)(cstr))
|
|
return float64(c)
|
|
}
|
|
|
|
// GetDoubleWithDefault() is a wrapper around gtk_print_settings_get_double_with_default().
|
|
func (ps *PrintSettings) GetDoubleWithDefault(key string, def float64) float64 {
|
|
cstr := C.CString(key)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
c := C.gtk_print_settings_get_double_with_default(ps.native(),
|
|
(*C.gchar)(cstr), C.gdouble(def))
|
|
return float64(c)
|
|
}
|
|
|
|
// SetDouble() is a wrapper around gtk_print_settings_set_double().
|
|
func (ps *PrintSettings) SetDouble(key string, value float64) {
|
|
cstr := C.CString(key)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
C.gtk_print_settings_set_double(ps.native(), (*C.gchar)(cstr), C.gdouble(value))
|
|
}
|
|
|
|
// GetLength() is a wrapper around gtk_print_settings_get_length().
|
|
func (ps *PrintSettings) GetLength(key string, unit Unit) float64 {
|
|
cstr := C.CString(key)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
c := C.gtk_print_settings_get_length(ps.native(), (*C.gchar)(cstr), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// SetLength() is a wrapper around gtk_print_settings_set_length().
|
|
func (ps *PrintSettings) SetLength(key string, value float64, unit Unit) {
|
|
cstr := C.CString(key)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
C.gtk_print_settings_set_length(ps.native(), (*C.gchar)(cstr), C.gdouble(value), C.GtkUnit(unit))
|
|
}
|
|
|
|
// GetInt() is a wrapper around gtk_print_settings_get_int().
|
|
func (ps *PrintSettings) GetInt(key string) int {
|
|
cstr := C.CString(key)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
c := C.gtk_print_settings_get_int(ps.native(), (*C.gchar)(cstr))
|
|
return int(c)
|
|
}
|
|
|
|
// GetIntWithDefault() is a wrapper around gtk_print_settings_get_int_with_default().
|
|
func (ps *PrintSettings) GetIntWithDefault(key string, def int) int {
|
|
cstr := C.CString(key)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
c := C.gtk_print_settings_get_int_with_default(ps.native(), (*C.gchar)(cstr), C.gint(def))
|
|
return int(c)
|
|
}
|
|
|
|
// SetInt() is a wrapper around gtk_print_settings_set_int().
|
|
func (ps *PrintSettings) SetInt(key string, value int) {
|
|
cstr := C.CString(key)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
C.gtk_print_settings_set_int(ps.native(), (*C.gchar)(cstr), C.gint(value))
|
|
}
|
|
|
|
// GetPrinter() is a wrapper around gtk_print_settings_get_printer().
|
|
func (ps *PrintSettings) GetPrinter() string {
|
|
c := C.gtk_print_settings_get_printer(ps.native())
|
|
return C.GoString((*C.char)(c))
|
|
}
|
|
|
|
// SetPrinter() is a wrapper around gtk_print_settings_set_printer().
|
|
func (ps *PrintSettings) SetPrinter(printer string) {
|
|
cstr := C.CString(printer)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
C.gtk_print_settings_set_printer(ps.native(), (*C.gchar)(cstr))
|
|
}
|
|
|
|
// GetOrientation() is a wrapper around gtk_print_settings_get_orientation().
|
|
func (ps *PrintSettings) GetOrientation() PageOrientation {
|
|
c := C.gtk_print_settings_get_orientation(ps.native())
|
|
return PageOrientation(c)
|
|
}
|
|
|
|
// SetOrientation() is a wrapper around gtk_print_settings_set_orientation().
|
|
func (ps *PrintSettings) SetOrientation(orientation PageOrientation) {
|
|
C.gtk_print_settings_set_orientation(ps.native(), C.GtkPageOrientation(orientation))
|
|
}
|
|
|
|
// GetPaperSize() is a wrapper around gtk_print_settings_get_paper_size().
|
|
func (ps *PrintSettings) GetPaperSize() (*PaperSize, error) {
|
|
c := C.gtk_print_settings_get_paper_size(ps.native())
|
|
if c == nil {
|
|
return nil, nilPtrErr
|
|
}
|
|
p := &PaperSize{c}
|
|
runtime.SetFinalizer(p, (*PaperSize).free)
|
|
return p, nil
|
|
}
|
|
|
|
// SetPaperSize() is a wrapper around gtk_print_settings_set_paper_size().
|
|
func (ps *PrintSettings) SetPaperSize(size *PaperSize) {
|
|
C.gtk_print_settings_set_paper_size(ps.native(), size.native())
|
|
}
|
|
|
|
// GetPaperWidth() is a wrapper around gtk_print_settings_get_paper_width().
|
|
func (ps *PrintSettings) GetPaperWidth(unit Unit) float64 {
|
|
c := C.gtk_print_settings_get_paper_width(ps.native(), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// SetPaperWidth() is a wrapper around gtk_print_settings_set_paper_width().
|
|
func (ps *PrintSettings) SetPaperWidth(width float64, unit Unit) {
|
|
C.gtk_print_settings_set_paper_width(ps.native(), C.gdouble(width), C.GtkUnit(unit))
|
|
}
|
|
|
|
// GetPaperHeight() is a wrapper around gtk_print_settings_get_paper_height().
|
|
func (ps *PrintSettings) GetPaperHeight(unit Unit) float64 {
|
|
c := C.gtk_print_settings_get_paper_height(ps.native(), C.GtkUnit(unit))
|
|
return float64(c)
|
|
}
|
|
|
|
// SetPaperHeight() is a wrapper around gtk_print_settings_set_paper_height().
|
|
func (ps *PrintSettings) SetPaperHeight(width float64, unit Unit) {
|
|
C.gtk_print_settings_set_paper_height(ps.native(), C.gdouble(width), C.GtkUnit(unit))
|
|
}
|
|
|
|
// GetUseColor() is a wrapper around gtk_print_settings_get_use_color().
|
|
func (ps *PrintSettings) GetUseColor() bool {
|
|
c := C.gtk_print_settings_get_use_color(ps.native())
|
|
return gobool(c)
|
|
}
|
|
|
|
// SetUseColor() is a wrapper around gtk_print_settings_set_use_color().
|
|
func (ps *PrintSettings) SetUseColor(color bool) {
|
|
C.gtk_print_settings_set_use_color(ps.native(), gbool(color))
|
|
}
|
|
|
|
// GetCollate() is a wrapper around gtk_print_settings_get_collate().
|
|
func (ps *PrintSettings) GetCollate() bool {
|
|
c := C.gtk_print_settings_get_collate(ps.native())
|
|
return gobool(c)
|
|
}
|
|
|
|
// SetCollate() is a wrapper around gtk_print_settings_set_collate().
|
|
func (ps *PrintSettings) SetCollate(collate bool) {
|
|
C.gtk_print_settings_set_collate(ps.native(), gbool(collate))
|
|
}
|
|
|
|
// GetReverse() is a wrapper around gtk_print_settings_get_reverse().
|
|
func (ps *PrintSettings) GetReverse() bool {
|
|
c := C.gtk_print_settings_get_reverse(ps.native())
|
|
return gobool(c)
|
|
}
|
|
|
|
// SetReverse() is a wrapper around gtk_print_settings_set_reverse().
|
|
func (ps *PrintSettings) SetReverse(reverse bool) {
|
|
C.gtk_print_settings_set_reverse(ps.native(), gbool(reverse))
|
|
}
|
|
|
|
// GetDuplex() is a wrapper around gtk_print_settings_get_duplex().
|
|
func (ps *PrintSettings) GetDuplex() PrintDuplex {
|
|
c := C.gtk_print_settings_get_duplex(ps.native())
|
|
return PrintDuplex(c)
|
|
}
|
|
|
|
// SetDuplex() is a wrapper around gtk_print_settings_set_duplex().
|
|
func (ps *PrintSettings) SetDuplex(duplex PrintDuplex) {
|
|
C.gtk_print_settings_set_duplex(ps.native(), C.GtkPrintDuplex(duplex))
|
|
}
|
|
|
|
// GetQuality() is a wrapper around gtk_print_settings_get_quality().
|
|
func (ps *PrintSettings) GetQuality() PrintQuality {
|
|
c := C.gtk_print_settings_get_quality(ps.native())
|
|
return PrintQuality(c)
|
|
}
|
|
|
|
// SetQuality() is a wrapper around gtk_print_settings_set_quality().
|
|
func (ps *PrintSettings) SetQuality(quality PrintQuality) {
|
|
C.gtk_print_settings_set_quality(ps.native(), C.GtkPrintQuality(quality))
|
|
}
|
|
|
|
// GetNCopies() is a wrapper around gtk_print_settings_get_n_copies().
|
|
func (ps *PrintSettings) GetNCopies() int {
|
|
c := C.gtk_print_settings_get_n_copies(ps.native())
|
|
return int(c)
|
|
}
|
|
|
|
// SetNCopies() is a wrapper around gtk_print_settings_set_n_copies().
|
|
func (ps *PrintSettings) SetNCopies(copies int) {
|
|
C.gtk_print_settings_set_n_copies(ps.native(), C.gint(copies))
|
|
}
|
|
|
|
// GetNmberUp() is a wrapper around gtk_print_settings_get_number_up().
|
|
func (ps *PrintSettings) GetNmberUp() int {
|
|
c := C.gtk_print_settings_get_number_up(ps.native())
|
|
return int(c)
|
|
}
|
|
|
|
// SetNumberUp() is a wrapper around gtk_print_settings_set_number_up().
|
|
func (ps *PrintSettings) SetNumberUp(numberUp int) {
|
|
C.gtk_print_settings_set_number_up(ps.native(), C.gint(numberUp))
|
|
}
|
|
|
|
// GetNumberUpLayout() is a wrapper around gtk_print_settings_get_number_up_layout().
|
|
func (ps *PrintSettings) GetNumberUpLayout() NumberUpLayout {
|
|
c := C.gtk_print_settings_get_number_up_layout(ps.native())
|
|
return NumberUpLayout(c)
|
|
}
|
|
|
|
// SetNumberUpLayout() is a wrapper around gtk_print_settings_set_number_up_layout().
|
|
func (ps *PrintSettings) SetNumberUpLayout(numberUpLayout NumberUpLayout) {
|
|
C.gtk_print_settings_set_number_up_layout(ps.native(), C.GtkNumberUpLayout(numberUpLayout))
|
|
}
|
|
|
|
// GetResolution() is a wrapper around gtk_print_settings_get_resolution().
|
|
func (ps *PrintSettings) GetResolution() int {
|
|
c := C.gtk_print_settings_get_resolution(ps.native())
|
|
return int(c)
|
|
}
|
|
|
|
// SetResolution() is a wrapper around gtk_print_settings_set_resolution().
|
|
func (ps *PrintSettings) SetResolution(resolution int) {
|
|
C.gtk_print_settings_set_resolution(ps.native(), C.gint(resolution))
|
|
}
|
|
|
|
// SetResolutionXY() is a wrapper around gtk_print_settings_set_resolution_xy().
|
|
func (ps *PrintSettings) SetResolutionXY(resolutionX, resolutionY int) {
|
|
C.gtk_print_settings_set_resolution_xy(ps.native(), C.gint(resolutionX), C.gint(resolutionY))
|
|
}
|
|
|
|
// GetResolutionX() is a wrapper around gtk_print_settings_get_resolution_x().
|
|
func (ps *PrintSettings) GetResolutionX() int {
|
|
c := C.gtk_print_settings_get_resolution_x(ps.native())
|
|
return int(c)
|
|
}
|
|
|
|
// GetResolutionY() is a wrapper around gtk_print_settings_get_resolution_y().
|
|
func (ps *PrintSettings) GetResolutionY() int {
|
|
c := C.gtk_print_settings_get_resolution_y(ps.native())
|
|
return int(c)
|
|
}
|
|
|
|
// GetPrinterLpi() is a wrapper around gtk_print_settings_get_printer_lpi().
|
|
func (ps *PrintSettings) GetPrinterLpi() float64 {
|
|
c := C.gtk_print_settings_get_printer_lpi(ps.native())
|
|
return float64(c)
|
|
}
|
|
|
|
// SetPrinterLpi() is a wrapper around gtk_print_settings_set_printer_lpi().
|
|
func (ps *PrintSettings) SetPrinterLpi(lpi float64) {
|
|
C.gtk_print_settings_set_printer_lpi(ps.native(), C.gdouble(lpi))
|
|
}
|
|
|
|
// GetScale() is a wrapper around gtk_print_settings_get_scale().
|
|
func (ps *PrintSettings) GetScale() float64 {
|
|
c := C.gtk_print_settings_get_scale(ps.native())
|
|
return float64(c)
|
|
}
|
|
|
|
// SetScale() is a wrapper around gtk_print_settings_set_scale().
|
|
func (ps *PrintSettings) SetScale(scale float64) {
|
|
C.gtk_print_settings_set_scale(ps.native(), C.gdouble(scale))
|
|
}
|
|
|
|
// GetPrintPages() is a wrapper around gtk_print_settings_get_print_pages().
|
|
func (ps *PrintSettings) GetPrintPages() PrintPages {
|
|
c := C.gtk_print_settings_get_print_pages(ps.native())
|
|
return PrintPages(c)
|
|
}
|
|
|
|
// SetPrintPages() is a wrapper around gtk_print_settings_set_print_pages().
|
|
func (ps *PrintSettings) SetPrintPages(pages PrintPages) {
|
|
C.gtk_print_settings_set_print_pages(ps.native(), C.GtkPrintPages(pages))
|
|
}
|
|
|
|
// GetPageRanges() is a wrapper around gtk_print_settings_get_page_ranges().
|
|
func (ps *PrintSettings) GetPageRanges() (int, *PageRanges) {
|
|
var ranges *C.GtkPageRange
|
|
var num C.gint
|
|
ranges = C.gtk_print_settings_get_page_ranges(ps.native(), &num)
|
|
length := int(num)
|
|
if length == 0 {
|
|
return 0, &PageRanges{nil}
|
|
}
|
|
slice := (*[1 << 30]C.GtkPageRange)(unsafe.Pointer(ranges))[:length:length]
|
|
t := &PageRanges{slice}
|
|
runtime.SetFinalizer(t, (*PageRanges).free)
|
|
return length, t
|
|
}
|
|
|
|
// SetPageRanges() is a wrapper around gtk_print_settings_set_page_ranges().
|
|
func (ps *PrintSettings) SetPageRanges(ranges *PageRanges, num int) {
|
|
C.gtk_print_settings_set_page_ranges(ps.native(), &ranges.ranges[0], C.gint(num))
|
|
}
|
|
|
|
// GetPageSet() is a wrapper around gtk_print_settings_get_page_set().
|
|
func (ps *PrintSettings) GetPageSet(pages PrintPages) PageSet {
|
|
c := C.gtk_print_settings_get_page_set(ps.native())
|
|
return PageSet(c)
|
|
}
|
|
|
|
// SetPageSet() is a wrapper around gtk_print_settings_set_page_set().
|
|
func (ps *PrintSettings) SetPageSet(pageSet PageSet) {
|
|
C.gtk_print_settings_set_page_set(ps.native(), C.GtkPageSet(pageSet))
|
|
}
|
|
|
|
// GetDefaultSource() is a wrapper around gtk_print_settings_get_default_source().
|
|
func (ps *PrintSettings) GetDefaultSource() string {
|
|
c := C.gtk_print_settings_get_default_source(ps.native())
|
|
return C.GoString((*C.char)(c))
|
|
}
|
|
|
|
// SetSefaultSource() is a wrapper around gtk_print_settings_set_default_source().
|
|
func (ps *PrintSettings) SetSefaultSource(defaultSource string) {
|
|
cstr := C.CString(defaultSource)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
C.gtk_print_settings_set_default_source(ps.native(), (*C.gchar)(cstr))
|
|
}
|
|
|
|
// GetMediaType() is a wrapper around gtk_print_settings_get_media_type().
|
|
func (ps *PrintSettings) GetMediaType() string {
|
|
c := C.gtk_print_settings_get_media_type(ps.native())
|
|
return C.GoString((*C.char)(c))
|
|
}
|
|
|
|
// SetMediaType() is a wrapper around gtk_print_settings_set_media_type().
|
|
func (ps *PrintSettings) SetMediaType(mediaType string) {
|
|
cstr := C.CString(mediaType)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
C.gtk_print_settings_set_media_type(ps.native(), (*C.gchar)(cstr))
|
|
}
|
|
|
|
// GetDither() is a wrapper around gtk_print_settings_get_dither().
|
|
func (ps *PrintSettings) GetDither() string {
|
|
c := C.gtk_print_settings_get_dither(ps.native())
|
|
return C.GoString((*C.char)(c))
|
|
}
|
|
|
|
// SetDither() is a wrapper around gtk_print_settings_set_dither().
|
|
func (ps *PrintSettings) SetDither(dither string) {
|
|
cstr := C.CString(dither)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
C.gtk_print_settings_set_dither(ps.native(), (*C.gchar)(cstr))
|
|
}
|
|
|
|
// GetFinishings() is a wrapper around gtk_print_settings_get_finishings().
|
|
func (ps *PrintSettings) GetFinishings() string {
|
|
c := C.gtk_print_settings_get_finishings(ps.native())
|
|
return C.GoString((*C.char)(c))
|
|
}
|
|
|
|
// SetFinishings() is a wrapper around gtk_print_settings_set_finishings().
|
|
func (ps *PrintSettings) SetFinishings(dither string) {
|
|
cstr := C.CString(dither)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
C.gtk_print_settings_set_finishings(ps.native(), (*C.gchar)(cstr))
|
|
}
|
|
|
|
// GetOutputBin() is a wrapper around gtk_print_settings_get_output_bin().
|
|
func (ps *PrintSettings) GetOutputBin() string {
|
|
c := C.gtk_print_settings_get_output_bin(ps.native())
|
|
return C.GoString((*C.char)(c))
|
|
}
|
|
|
|
// SetOutputBin() is a wrapper around gtk_print_settings_set_output_bin().
|
|
func (ps *PrintSettings) SetOutputBin(bin string) {
|
|
cstr := C.CString(bin)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
C.gtk_print_settings_set_output_bin(ps.native(), (*C.gchar)(cstr))
|
|
}
|
|
|
|
// PrintSettingsNewFromFile() is a wrapper around gtk_print_settings_new_from_file().
|
|
func PrintSettingsNewFromFile(name string) (*PrintSettings, error) {
|
|
cstr := C.CString(name)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
var err *C.GError = nil
|
|
c := C.gtk_print_settings_new_from_file((*C.gchar)(cstr), &err)
|
|
if c == nil {
|
|
defer C.g_error_free(err)
|
|
return nil, errors.New(C.GoString((*C.char)(err.message)))
|
|
}
|
|
obj := wrapObject(unsafe.Pointer(c))
|
|
return wrapPrintSettings(obj), nil
|
|
}
|
|
|
|
// PrintSettingsNewFromKeyFile() is a wrapper around gtk_print_settings_new_from_key_file().
|
|
|
|
// LoadFile() is a wrapper around gtk_print_settings_load_file().
|
|
func (ps *PrintSettings) LoadFile(name string) error {
|
|
cstr := C.CString(name)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
var err *C.GError = nil
|
|
c := C.gtk_print_settings_load_file(ps.native(), (*C.gchar)(cstr), &err)
|
|
if gobool(c) == false {
|
|
defer C.g_error_free(err)
|
|
return errors.New(C.GoString((*C.char)(err.message)))
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// LoadKeyFile() is a wrapper around gtk_print_settings_load_key_file().
|
|
|
|
// ToFile() is a wrapper around gtk_print_settings_to_file().
|
|
func (ps *PrintSettings) ToFile(name string) error {
|
|
cstr := C.CString(name)
|
|
defer C.free(unsafe.Pointer(cstr))
|
|
var err *C.GError = nil
|
|
c := C.gtk_print_settings_to_file(ps.native(), (*C.gchar)(cstr), &err)
|
|
if gobool(c) == false {
|
|
return errors.New(C.GoString((*C.char)(err.message)))
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// ToKeyFile() is a wrapper around gtk_print_settings_to_key_file().
|