本文整理汇总了C++中FV_View::isInTable方法的典型用法代码示例。如果您正苦于以下问题:C++ FV_View::isInTable方法的具体用法?C++ FV_View::isInTable怎么用?C++ FV_View::isInTable使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FV_View
的用法示例。
在下文中一共展示了FV_View::isInTable方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: 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);
}
}
示例2: setAllSensitivities
/*!
* This method sets the sensitivity of the radio buttons to above/below/left/right merges
* Because we can't merge to the left of column zero for example.
*
* Call this right after contructing the widget and before dropping into the main loop.
*/
void AP_Dialog_SplitCells::setAllSensitivities(void)
{
FV_View * pView = 0;
if (XAP_Frame * pFrame = getApp()->getLastFocussedFrame())
{
pView = static_cast<FV_View *>(pFrame->getCurrentView());
}
if (!pView)
{
setSensitivity(vert_above, false);
setSensitivity(vert_mid, false);
setSensitivity(vert_below, false);
setSensitivity(hori_left, false);
setSensitivity(hori_mid, false);
setSensitivity(hori_right, false);
return;
}
if (!pView->isInTable())
{
setSensitivity(vert_above, false);
setSensitivity(vert_mid, false);
setSensitivity(vert_below, false);
setSensitivity(hori_left, false);
setSensitivity(hori_mid, false);
setSensitivity(hori_right, false);
return;
}
PT_DocPosition iCurPos = pView->getPoint();
m_iCellSource = iCurPos;
pView->getCellParams(iCurPos,&m_iLeft,&m_iRight,&m_iTop,&m_iBot);
//
// Now find the number of rows and columns inthis table. This is easiest to
// get from the table container
//
fl_BlockLayout * pBL = pView->getLayout()->findBlockAtPosition(iCurPos);
fp_Run * pRun;
UT_sint32 xPoint,yPoint,xPoint2,yPoint2,iPointHeight;
bool bDirection;
pRun = pBL->findPointCoords(iCurPos, false, xPoint,
yPoint, xPoint2, yPoint2,
iPointHeight, bDirection);
UT_return_if_fail(pRun);
fp_Line * pLine = pRun->getLine();
UT_return_if_fail(pLine);
fp_Container * pCon = pLine->getContainer();
UT_return_if_fail(pCon);
fp_TableContainer * pTab = static_cast<fp_TableContainer *>(pCon->getContainer());
UT_return_if_fail(pTab);
UT_return_if_fail(pTab->getContainerType() == FP_CONTAINER_TABLE);
m_pTab = pTab;
m_iNumRows = pTab->getNumRows();
m_iNumCols = pTab->getNumCols();
if(m_iBot > m_iTop+2)
{
setSensitivity(vert_above,true);
setSensitivity(vert_below,true);
}
else
{
setSensitivity(vert_above,false);
setSensitivity(vert_below,false);
}
UT_sint32 diff = m_iBot - m_iTop;
if((m_iBot - m_iTop == 1) || (2*(diff/2) == diff))
{
setSensitivity(vert_mid,true);
}
else
{
setSensitivity(vert_mid,false);
}
if(m_iRight > m_iLeft+2)
{
setSensitivity(hori_left,true);
setSensitivity(hori_right,true);
}
else
{
setSensitivity(hori_left,false);
setSensitivity(hori_right,false);
}
diff = m_iRight - m_iLeft;
if((m_iRight - m_iLeft == 1) || (2*(diff/2) == diff))
{
setSensitivity(hori_mid,true);
}
else
{
//.........这里部分代码省略.........
示例3: setCurCellProps
void AP_Dialog_FormatTable::setCurCellProps(void)
{
XAP_Frame *frame = XAP_App::getApp()->getLastFocussedFrame();
if (frame) {
FV_View * pView = static_cast<FV_View *>(frame->getCurrentView());
if (m_bSettingsChanged ||
m_iOldPos == pView->getPoint()) // comparing the actual cell pos would be even better; but who cares :)
return;
m_iOldPos = pView->getPoint();
/*
* update the border colors
*/
gchar * color = NULL;
if (pView->getCellProperty("left-color", color))
m_vecProps.addOrReplaceProp("left-color", color);
else
m_vecProps.removeProp("left-color");
if (pView->getCellProperty("right-color", color))
m_vecProps.addOrReplaceProp("right-color", color);
else
m_vecProps.removeProp("right-color");
if (pView->getCellProperty("top-color", color))
m_vecProps.addOrReplaceProp("top-color", color);
else
m_vecProps.removeProp("top-color");
if (pView->getCellProperty("bot-color", color))
m_vecProps.addOrReplaceProp("bot-color", color);
else
m_vecProps.removeProp("bot-color");
/*
* update the background color
*/
UT_RGBColor clr;
gchar * bgColor = NULL;
if (pView->getCellProperty("background-color", bgColor))
{
m_vecProps.addOrReplaceProp("background-color", bgColor);
clr.setColor(bgColor);
setBackgroundColorInGUI(clr);
}
else
{
m_vecProps.removeProp("background-color");
setBackgroundColorInGUI(UT_RGBColor(255,255,255)); // No color == white for now - MARCM
}
if(pView->isImageAtStrux(m_iOldPos,PTX_SectionCell))
{
if(pView->isInTable())
{
fl_BlockLayout * pBL = pView->getCurrentBlock();
fl_CellLayout * pCell = static_cast<fl_CellLayout *>(pBL->myContainingLayout());
if(pCell->getContainerType() != FL_CONTAINER_CELL)
{
UT_ASSERT_HARMLESS(UT_SHOULD_NOT_HAPPEN);
DELETEP(m_pGraphic);
DELETEP(m_pImage);
m_sImagePath.clear();
}
else
{
FG_Graphic * pFG = FG_GraphicRaster::createFromStrux(pCell);
if(pFG)
{
DELETEP(m_pGraphic);
DELETEP(m_pImage);
m_sImagePath.clear();
m_pGraphic = pFG;
m_sImagePath = pFG->getDataId();
GR_Graphics * pG = m_pFormatTablePreview->getGraphics();
const UT_ByteBuf * pBB = pFG->getBuffer();
if(m_pGraphic->getType() == FGT_Raster)
{
m_pImage = static_cast<GR_Image *>(
pG->createNewImage( m_sImagePath.c_str(),
pBB, pFG->getMimeType(),
pFG->getWidth(),
pFG->getHeight(),
GR_Image::GRT_Raster));
}
else
{
m_pImage = static_cast<GR_Image *>(
pG->createNewImage( m_sImagePath.c_str(),
pBB, pFG->getMimeType(),
m_pFormatTablePreview->getWindowWidth()-2,
m_pFormatTablePreview->getWindowHeight()-2,
GR_Image::GRT_Vector));
}
//.........这里部分代码省略.........
示例4: calculateValue
bool fp_FieldTableSumCols::calculateValue(void)
{
FV_View * pView = _getView();
pf_Frag_Strux* tableSDH= NULL;
UT_sint32 numRows =0;
UT_sint32 numCols = 0;
bUseCurrency = false;
cCurrency = '$';
pf_Frag_Strux* sdh = getBlock()->getStruxDocHandle();
PD_Document * pDoc = getBlock()->getDocument();
if(pDoc->isPieceTableChanging())
{
return false;
}
if(getLine() == NULL)
{
return false;
}
fp_Container * pCol = getLine()->getColumn();
if(pCol == NULL)
{
return false;
}
fp_ShadowContainer * pShad =NULL;
fl_HdrFtrShadow * pShadL = NULL;
if(pCol->getContainerType() == FP_CONTAINER_COLUMN_SHADOW)
{
pShad = static_cast<fp_ShadowContainer *>(pCol);
pShadL = pShad->getShadow();
}
PT_DocPosition pos = pDoc->getStruxPosition(sdh)+1;
pDoc->getStruxOfTypeFromPosition(pos,PTX_SectionTable,&tableSDH);
pDoc-> getRowsColsFromTableSDH(tableSDH, pView->isShowRevisions(), pView->getRevisionLevel(), &numRows, &numCols);
UT_UTF8String sValF;
if(!pView->isInTable(pos))
{
sValF = "???";
return _setValue(sValF.ucs4_str().ucs4_str());
}
fl_CellLayout * pCell = NULL;
UT_sint32 myLeft,myRight,myTop,myBot;
pView->getCellParams(pos,&myLeft,&myRight,&myTop,&myBot);
UT_sint32 col = 0;
UT_sint32 row = myTop;
UT_sint32 lastCol = -1;
double dSum = 0.0;
for(col = 0; col < numCols; col++)
{
pf_Frag_Strux* sdhCell = pDoc->getCellSDHFromRowCol(tableSDH,true,99999,row,col);
UT_sint32 i = getBlock()->getDocLayout()->getLID();
fl_ContainerLayout* fmtCell = pDoc->getNthFmtHandle(sdhCell,i);
pCell = static_cast<fl_CellLayout *>(fmtCell);
if(pCell->getLeftAttach() == lastCol)
{
continue;
}
if((pCell->getTopAttach() == myTop) && (pCell->getLeftAttach() == myLeft))
{
continue;
}
UT_GrowBuf grText;
pCell->appendTextToBuf(grText);
if(grText.getLength() == 0)
{
fl_ContainerLayout * pC = pCell->getFirstLayout();
while(pC)
{
if(pC->getContainerType() == FL_CONTAINER_BLOCK)
{
fl_BlockLayout * pBL = static_cast<fl_BlockLayout *>(pC);
if(pShadL)
{
pBL = static_cast<fl_BlockLayout *>(pShadL->findMatchingContainer(pBL));
}
if(pBL == NULL)
{
continue;
}
fp_Run * pRun = pBL->getFirstRun();
while(pRun)
{
if(pRun->getType() == FPRUN_FIELD)
{
fp_FieldRun * pFRun = static_cast<fp_FieldRun *>(pRun);
const UT_UCS4Char * szVal = pFRun->getValue();
sValF.clear();
sValF.appendUCS4(szVal);
dSum += dGetVal(sValF.utf8_str());
pRun = NULL;
pC = NULL;
break;
}
pRun = pRun->getNextRun();
}
}
if(pC)
{
pC = pC->getNext();
//.........这里部分代码省略.........