/* AbiSource Application Framework * Copyright (C) 2003 Dom Lachowicz * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. */ #include "abicapi.h" #include "abicapi_private.h" #include "ut_assert.h" static int abi_view_assert (const AbiView * pView) { if (!pView) return 0; if (!pView->pView) return 0; return 1; } ABICAPI_API(size_t) abi_view_get_point(const AbiView * pView) { UT_return_val_if_fail (abi_view_assert (pView), 0); return pView->pView->getPoint (); } ABICAPI_API(size_t) abi_view_get_selection_anchor(const AbiView * pView) { UT_return_val_if_fail (abi_view_assert (pView), 0); return pView->pView->getSelectionAnchor (); } ABICAPI_API(int) abi_view_can_undo(const AbiView * pView) { UT_return_val_if_fail (abi_view_assert (pView), 0); return pView->pView->canDo (true); } ABICAPI_API(int) abi_view_can_redo(const AbiView * pView) { UT_return_val_if_fail (abi_view_assert (pView), 0); return pView->pView->canDo (false); } ABICAPI_API(void) abi_view_undo(const AbiView * pView, size_t count) { UT_return_if_fail (abi_view_assert (pView)); return pView->pView->cmdUndo (count); } ABICAPI_API(void) abi_view_redo(const AbiView * pView, size_t count) { UT_return_if_fail (abi_view_assert (pView)); return pView->pView->cmdRedo (count); } ABICAPI_API(AbiError_t) abi_view_save (AbiView * pView) { UT_return_val_if_fail (abi_view_assert (pView), (AbiError_t)UT_ERROR); return (AbiError_t) pView->pView->cmdSave (); } ABICAPI_API(AbiError_t) abi_view_save_as_ex (AbiView * pView, const char * filename, AbiFile_t type, int copy) { UT_return_val_if_fail (abi_view_assert (pView), (AbiError_t)UT_ERROR); UT_return_val_if_fail (filename, (AbiError_t)UT_ERROR); return (AbiError_t) pView->pView->cmdSaveAs (filename, type, copy); } ABICAPI_API(AbiError_t) abi_view_save_as (AbiView * pView, const char * filename, AbiFile_t type) { return abi_view_save_as_ex (pView, filename, type, false); } ABICAPI_API(AbiError_t) abi_view_insert_field_ex (AbiView * pView, const char * name, const char ** extra_attrs, const char ** extra_props) { UT_return_val_if_fail (abi_view_assert (pView), (AbiError_t)UT_ERROR); UT_return_val_if_fail (name, (AbiError_t)UT_ERROR); return (AbiError_t)pView->pView->cmdInsertField (name, extra_attrs, extra_props); } ABICAPI_API(AbiError_t) abi_view_insert_field (AbiView * pView, const char * name) { return abi_view_insert_field_ex (pView, name, NULL, NULL); } ABICAPI_API(AbiError_t) abi_view_insert_bookmark(AbiView * pView, const char * name) { UT_return_val_if_fail (abi_view_assert (pView), (AbiError_t)UT_ERROR); UT_return_val_if_fail (name, (AbiError_t)UT_ERROR); return (AbiError_t)pView->pView->cmdInsertBookmark (name); } ABICAPI_API(AbiError_t) abi_view_delete_bookmark(AbiView * pView, const char * name) { UT_return_val_if_fail (abi_view_assert (pView), (AbiError_t)UT_ERROR); UT_return_val_if_fail (name, (AbiError_t)UT_ERROR); return (AbiError_t)pView->pView->cmdDeleteBookmark (name); } ABICAPI_API(AbiError_t) abi_view_insert_hyperlink(AbiView * pView, const char * name) { UT_return_val_if_fail (abi_view_assert (pView), (AbiError_t)UT_ERROR); UT_return_val_if_fail (name, (AbiError_t)UT_ERROR); return (AbiError_t)pView->pView->cmdInsertHyperlink (name); } ABICAPI_API(AbiError_t) abi_view_delete_hyperlink(AbiView * pView) { UT_return_val_if_fail (abi_view_assert (pView), (AbiError_t)UT_ERROR); return (AbiError_t)pView->pView->cmdDeleteHyperlink (); } ABICAPI_API(void) abi_view_set_paper_color (AbiView * pView, const char * color) { UT_return_if_fail (abi_view_assert (pView)); UT_return_if_fail (color); pView->pView->setPaperColor (color); } ABICAPI_API(void) abi_view_copy_ex (AbiView * pView, int toClipboard) { UT_return_if_fail (abi_view_assert (pView)); pView->pView->cmdCopy (toClipboard); } ABICAPI_API(void) abi_view_copy (AbiView * pView) { abi_view_copy_ex (pView, true); } ABICAPI_API(void) abi_view_cut (AbiView * pView) { UT_return_if_fail (abi_view_assert (pView)); pView->pView->cmdCut (); } ABICAPI_API(void) abi_view_paste_ex (AbiView * pView, int honor_formatting) { UT_return_if_fail (abi_view_assert (pView)); pView->pView->cmdPaste (honor_formatting); } ABICAPI_API(void) abi_view_paste (AbiView * pView) { abi_view_paste_ex (pView, true); } ABICAPI_API(int) abi_view_is_selection_empty (AbiView * pView) { UT_return_val_if_fail (abi_view_assert (pView), 1); return pView->pView->isSelectionEmpty (); } ABICAPI_API(void) abi_view_unselect_selection (AbiView * pView) { UT_return_if_fail (abi_view_assert (pView)); pView->pView->cmdUnselectSelection (); } ABICAPI_API(int) abi_view_set_section_format (AbiView * pView, const char ** properties) { UT_return_val_if_fail (abi_view_assert (pView), 0); return pView->pView->setSectionFormat (properties); } ABICAPI_API(int) abi_view_get_section_format (AbiView * pView, const char *** out_properties) { UT_return_val_if_fail (abi_view_assert (pView), 0); return pView->pView->getSectionFormat (out_properties); } ABICAPI_API(int) abi_view_set_block_format (AbiView * pView, const char ** properties) { UT_return_val_if_fail (abi_view_assert (pView), 0); return pView->pView->setBlockFormat (properties); } ABICAPI_API(int) abi_view_get_block_format (AbiView * pView, const char *** out_properties) { UT_return_val_if_fail (abi_view_assert (pView), 0); return pView->pView->getBlockFormat (out_properties); } ABICAPI_API(int) abi_view_set_char_format_ex (AbiView * pView, const char ** properties, const char ** attributes) { UT_return_val_if_fail (abi_view_assert (pView), 0); return pView->pView->setCharFormat (properties, attributes); } ABICAPI_API(int) abi_view_set_char_format (AbiView * pView, const char ** properties) { return abi_view_set_char_format_ex (pView, properties, NULL); } ABICAPI_API(int) abi_view_get_char_format_ex (AbiView * pView, const char *** out_properties, int expand_styles) { UT_return_val_if_fail (abi_view_assert (pView), 0); return pView->pView->getCharFormat(out_properties, expand_styles); } ABICAPI_API(int) abi_view_get_char_format (AbiView * pView, const char *** out_properties) { return abi_view_get_char_format_ex (pView, out_properties, true); }