本文整理汇总了C++中FV_View类的典型用法代码示例。如果您正苦于以下问题:C++ FV_View类的具体用法?C++ FV_View怎么用?C++ FV_View使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了FV_View类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UT_DEBUGMSG
void AP_Dialog_FormatFrame::applyChanges()
{
UT_sint32 count = m_vecProps.getItemCount();
UT_DEBUGMSG(("Doing apply changes number props %d \n", count));
if (!count)
return;
FV_View * pView = static_cast<FV_View *>(m_pApp->getLastFocussedFrame()->getCurrentView());
if (!pView)
return;
const gchar ** propsArray = new const gchar * [count + 2];
for (UT_sint32 j = 0; j < count; j = j + 2)
{
propsArray[j ] = static_cast<gchar *>(m_vecProps.getNthItem(j));
propsArray[j+1] = static_cast<gchar *>(m_vecProps.getNthItem(j+1));
}
propsArray[count ] = 0;
propsArray[count+1] = 0;
pView->setFrameFormat(propsArray, m_pGraphic, m_sImagePath);
delete [] propsArray;
m_bSettingsChanged = false;
}
示例2: GDict_invoke
//
// GDict_invoke
// -------------------
// This is the function that we actually call to invoke the thesaurus.
// It should be called when the user hits the thesaurus key (shift+f7?)
// or chooses "thesaurus" from a menu.
//
static bool
GDict_invoke(AV_View* /*v*/, EV_EditMethodCallData */*d*/)
{
// Get the current view that the user is in.
XAP_Frame *pFrame = XAP_App::getApp()->getLastFocussedFrame();
FV_View* pView = static_cast<FV_View*>(pFrame->getCurrentView());
// If the user is on a word, but does not have it selected, we need
// to go ahead and select that word so that the search/replace goes
// correctly.
pView->moveInsPtTo(FV_DOCPOS_EOW_MOVE);
pView->moveInsPtTo(FV_DOCPOS_BOW);
pView->extSelTo(FV_DOCPOS_EOW_SELECT);
// We need to get the utf-8 version of the current word.
UT_UCS4Char *ucs4ST = NULL;
pView->getSelectionText(*&ucs4ST);
if (ucs4ST) {
UT_UTF8String search(ucs4ST);
GDict_exec (search.utf8_str());
FREEP(ucs4ST);
}
return true;
}
示例3: if
gint AP_UnixLeftRuler::_fe::button_release_event(GtkWidget * w, GdkEventButton * e)
{
// a static function
AP_UnixLeftRuler * pUnixLeftRuler = static_cast<AP_UnixLeftRuler *>(g_object_get_data(G_OBJECT(w), "user_data"));
EV_EditModifierState ems = 0;
EV_EditMouseButton emb = 0;
FV_View * pView = static_cast<FV_View *>(pUnixLeftRuler->m_pFrame->getCurrentView());
if (!pView || pView->getPoint() == 0 || !pUnixLeftRuler->m_pG)
return 1;
if (e->state & GDK_SHIFT_MASK)
ems |= EV_EMS_SHIFT;
if (e->state & GDK_CONTROL_MASK)
ems |= EV_EMS_CONTROL;
if (e->state & GDK_MOD1_MASK)
ems |= EV_EMS_ALT;
if (e->state & GDK_BUTTON1_MASK)
emb = EV_EMB_BUTTON1;
else if (e->state & GDK_BUTTON2_MASK)
emb = EV_EMB_BUTTON2;
else if (e->state & GDK_BUTTON3_MASK)
emb = EV_EMB_BUTTON3;
pUnixLeftRuler->mouseRelease(ems, emb,
pUnixLeftRuler->m_pG->tlu(static_cast<UT_uint32>(e->x)),
pUnixLeftRuler->m_pG->tlu(static_cast<UT_uint32>(e->y)));
// release the mouse after we are done.
gtk_grab_remove(w);
return 1;
}
示例4: setSizeFromAnnotation
/*!
* This method sets the height and width of the preview from
* the size of the comment in the annotation.
*/
void AP_Preview_Annotation::setSizeFromAnnotation(void)
{
FV_View * pView = static_cast<FV_View *>(getActiveFrame()->getCurrentView());
GR_Graphics * pG = NULL;
UT_return_if_fail(pView);
pG = pView->getGraphics();
UT_return_if_fail(pG);
GR_Font * pFont = pG->findFont("Times New Roman", "normal",
"normal", "normal",
"normal", "12pt",
NULL);
UT_return_if_fail(pFont);
double rat = 100./static_cast<double>(pG->getZoomPercentage());
UT_sint32 iHeight = pG->getFontAscent(pFont) + pG->tlu(7);
iHeight = static_cast<UT_sint32>(static_cast<double>(iHeight));
m_drawString = m_sDescription;
UT_sint32 len = m_drawString.size();
pG->setFont(pFont);
UT_sint32 iwidth = pG->measureString(m_drawString.ucs4_str(),0,len,NULL) + pG->tlu(6);
iwidth = static_cast<UT_sint32>(static_cast<double>(iwidth));
m_width = static_cast<UT_sint32>(static_cast<double>(pG->tdu(iwidth))*rat);
m_height = static_cast<UT_sint32>(static_cast<double>(pG->tdu(iHeight))*rat);
if(pG->tdu(pView->getWindowWidth()) < m_width)
m_width = pG->tdu(pView->getWindowWidth());
UT_DEBUGMSG(("SetSize from Annotation width %d rat %f \n",m_width,rat));
}
示例5: getDocLayout
bool fl_ContainerLayout::canContainPoint() const
{
if(isCollapsed())
return false;
FV_View* pView = getDocLayout()->getView();
bool bShowHidden = pView->getShowPara();
bool bHidden = ((m_eHidden == FP_HIDDEN_TEXT && !bShowHidden)
|| m_eHidden == FP_HIDDEN_REVISION
|| m_eHidden == FP_HIDDEN_REVISION_AND_TEXT);
if(bHidden)
return false;
if(!_canContainPoint())
return false;
// see if we are not inside a containing layout that cannot contain point
fl_ContainerLayout * pMyLayout = myContainingLayout();
if(!pMyLayout || pMyLayout->getContainerType() == FL_CONTAINER_DOCSECTION)
return true;
return pMyLayout->canContainPoint();
}
示例6: cacheCurrentSelection
void AP_UnixApp::cacheCurrentSelection(AV_View * pView)
{
if (pView)
{
// remember a temporary copy of the extent of the current
// selection in the given view. this is intended for the
// X11 middle mouse trick -- where we need to warp to a
// new location and paste the current selection (not the
// clipboard) and the act of warping clears the selection.
// TODO if we ever support multiple view types, we'll have to
// TODO change this.
FV_View * pFVView = static_cast<FV_View *>(pView);
pFVView->getDocumentRangeOfCurrentSelection(&m_cacheDocumentRangeOfSelection);
m_cacheSelectionView = pView;
m_cacheDeferClear = false;
}
else
{
if (m_cacheDeferClear)
{
m_cacheDeferClear = false;
m_bHasSelection = false;
}
m_cacheSelectionView = NULL;
}
}
示例7: UT_return_if_fail
/*!
* Autoupdater of the dialog.
*/
void AP_Dialog_SplitCells::autoUpdateMC(UT_Worker * pTimer)
{
UT_return_if_fail(pTimer);
// this is a static callback method and does not have a 'this' pointer
AP_Dialog_SplitCells * pDialog = static_cast<AP_Dialog_SplitCells *>(pTimer->getInstanceData());
if (pDialog->m_bDestroy_says_stopupdating != true)
{
FV_View * pView = 0;
PD_Document * pDoc = NULL;
if (XAP_Frame * pFrame = pDialog->getApp()->getLastFocussedFrame())
{
pView = static_cast<FV_View *>(pFrame->getCurrentView());
}
if (pView)
{
pDoc = pView->getDocument();
}
if (!pView || (pDoc && !pDoc->isPieceTableChanging()))
{
pDialog->m_bAutoUpdate_happening_now = true;
pDialog->setAllSensitivities();
pDialog->m_bAutoUpdate_happening_now = false;
}
}
}
示例8: AbiMathView_LatexInsert
//
// AbiMathView_LatexInsert
// -------------------
// This is the function that we actually call to insert the MathML from
// a Latex expression.
//
bool
AbiMathView_LatexInsert(AV_View* v, EV_EditMethodCallData* /*d*/)
{
FV_View * pView = static_cast<FV_View *>(v);
XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
pFrame->raise();
XAP_DialogFactory * pDialogFactory
= static_cast<XAP_DialogFactory *>(XAP_App::getApp()->getDialogFactory());
AP_Dialog_Latex * pDialog
= static_cast<AP_Dialog_Latex *>(pDialogFactory->requestDialog(AP_DIALOG_ID_LATEX));
UT_return_val_if_fail(pDialog, false);
if (pDialog->isRunning())
{
pDialog->activate();
}
else
{
pDialog->runModeless(pFrame);
}
return true;
}
示例9: _enableUpdates
void ABI_Collab_Import::_enableUpdates(UT_GenericVector<AV_View *> vecViews, bool bIsGlob)
{
if (bIsGlob)
{
// allow updates again
m_pDoc->enableListUpdates();
m_pDoc->updateDirtyLists();
m_pDoc->setDontImmediatelyLayout(false);
m_pDoc->endUserAtomicGlob();
}
m_pDoc->notifyPieceTableChangeEnd();
bool bDone = false;
for (UT_sint32 i = 0; i<vecViews.getItemCount(); i++)
{
FV_View * pView = static_cast<FV_View *>( vecViews.getNthItem(i));
if(pView && !bDone && pView->shouldScreenUpdateOnGeneralUpdate())
{
m_pDoc->signalListeners(PD_SIGNAL_UPDATE_LAYOUT);
bDone = true;
}
if(pView)
{
pView->fixInsertionPointCoords();
pView->setActivityMask(true);
}
}
}
示例10: getView
PD_DocumentRDFHandle
AP_Dialog_RDFEditor::getRDF()
{
FV_View* view = getView();
PD_Document* doc = view->getDocument();
PD_DocumentRDFHandle rdf = doc->getDocumentRDF();
return rdf;
}
示例11: FreeTranslation_invoke
//
// FreeTranslate_invoke
// -------------------
// This is the function that we actually call to invoke the
// online freetranslation translation
// It should be called when the user selects from the context menu
//
static
bool FreeTranslation_invoke(AV_View * /*v*/, EV_EditMethodCallData * /*d*/)
{
// Get the current view that the user is in.
XAP_Frame * pFrame = XAP_App::getApp()->getLastFocussedFrame();
FV_View * pView =
static_cast <FV_View *>(pFrame->getCurrentView());
std::string url("http://www.freetranslation.com");
if (!pView->isSelectionEmpty())
{
std::string langCode;
if (_getTranslationCode(pView, langCode))
{
// Now we will figure out what words to translate
// We need to get the Latin1 version of the current word.
UT_UCS4Char *ucs4ST;
pView->getSelectionText(*&ucs4ST);
char * translate = _ucs4ToLatin1(ucs4ST);
// URL encode the string (' ' -> %20, ...)
// TODO this is not complete
std::string srcText;
for (char *p = translate; p && *p; ++p)
{
if (*p == ' ' || *p == '%' || *p == '&' || *p == '?'
|| (*p & 128)) // sometime char is signed.
// do bitwise comparison for portability
{
char temp[4] = "";
sprintf(&temp[0], "%%%x", *p);
srcText += temp;
} else
srcText += *p;
}
url = "http://ets.freetranslation.com/?Sequence=core";
url += "&Language=";
url += langCode;
url += "&SrcText=";
url += srcText;
DELETEPV(translate);
FREEP(ucs4ST);
XAP_App::getApp()->openURL(url.c_str());
}
// else didn't get the translation code. don't show anything
} else {
XAP_App::getApp()->openURL(url.c_str());
}
return true;
}
示例12: s_abicollab_authors
bool s_abicollab_authors(AV_View* v, EV_EditMethodCallData* /*d*/)
{
AbiCollabSessionManager* pManager = AbiCollabSessionManager::getManager();
UT_return_val_if_fail(pManager, false);
FV_View * pView = static_cast<FV_View *>(v);
PD_Document * pDoc = pView->getDocument();
bool b = pDoc->isShowAuthors();
pDoc->setShowAuthors(!b);
return true;
}
示例13: setAllSensitivities
/*!
Sets the sensitivity of the radio buttons to top/bottom/left/right line buttons
Call this right after contructing the widget and before dropping into the main loop.
*/
void AP_Dialog_FormatTable::setAllSensitivities(void)
{
XAP_Frame *frame = XAP_App::getApp()->getLastFocussedFrame();
if (frame) {
FV_View * pView = static_cast<FV_View *>(frame->getCurrentView());
setSensitivity(pView->isInTable());
}
else {
setSensitivity(false);
}
}
示例14: UT_return_if_fail
void AP_Dialog_Paragraph::_createPreviewFromGC(GR_Graphics * gc,
UT_uint32 width,
UT_uint32 height)
{
UT_return_if_fail (gc);
// g_free any attached preview
DELETEP(m_paragraphPreview);
// platform's runModal should have set this
UT_return_if_fail (m_pFrame);
AV_View * baseview = m_pFrame->getCurrentView();
UT_return_if_fail (baseview);
FV_View * view = static_cast<FV_View *> (baseview);
FL_DocLayout * dl = view->getLayout();
UT_return_if_fail (dl);
fl_BlockLayout * bl = dl->findBlockAtPosition((PT_DocPosition) view->getPoint());
UT_return_if_fail (bl);
UT_GrowBuf gb;
bool hadMem = bl->getBlockBuf(&gb);
UT_UCSChar * tmp = NULL;
if (hadMem && gb.getLength() > 0)
{
gb.truncate(NUM_CHARS_FOR_SAMPLE);
UT_UCS4_cloneString(&tmp, (UT_UCSChar *) gb.getPointer(0));
}
else
{
const XAP_StringSet * pSS = m_pApp->getStringSet();
// if the paragraph was empty, use our sample
UT_UCS4_cloneString_char(&tmp, pSS->getValue(AP_STRING_ID_DLG_Para_PreviewSampleFallback));
}
m_paragraphPreview = new AP_Preview_Paragraph(gc, tmp, this);
FREEP(tmp);
UT_return_if_fail (m_paragraphPreview);
m_paragraphPreview->setWindowSize(width, height);
// TODO : any setup of the GC for drawing
}
示例15: onSplit
/*!
* Method to actually do the cell merge.
*/
void AP_Dialog_SplitCells::onSplit(void)
{
FV_View * pView = 0;
if (XAP_Frame * pFrame = getApp()->getLastFocussedFrame())
{
pView = static_cast<FV_View *>(pFrame->getCurrentView());
}
if (pView)
{
pView->cmdSplitCells(m_SplitType);
}
setAllSensitivities();
}