Beispiel #1
0
static void D4D_CnslOnInit(D4D_MESSAGE* pMsg)
{
    D4D_OBJECT* pThis = pMsg->pObject;
    D4D_CONSOLE* pCnsl = D4D_GET_CONSOLE(pMsg->pObject);

    D4D_CnslValue2Coor(pThis);

    if((_calc.charArrSize.cy < pCnsl->txtArrSize.cy)||(_calc.charArrSize.cx < pCnsl->txtArrSize.cx))
    {
        D4D_ScrlBrSetRange(D4D_GET_LIST_BOX_SCROLL_BAR_HOR(pThis), 0, pCnsl->txtArrSize.cx);
        D4D_ScrlBrSetStep(D4D_GET_LIST_BOX_SCROLL_BAR_HOR(pThis), _calc.charArrSize.cx, D4D_CNSL_SCRLBR_STEP_H);
        D4D_ShowObject(D4D_GET_LIST_BOX_SCROLL_BAR_HOR(pThis), D4D_TRUE);

        D4D_ScrlBrSetRange(D4D_GET_LIST_BOX_SCROLL_BAR_VER(pThis), 0, pCnsl->txtArrSize.cy);
        D4D_ScrlBrSetStep(D4D_GET_LIST_BOX_SCROLL_BAR_VER(pThis), _calc.charArrSize.cy, D4D_CNSL_SCRLBR_STEP_V);
        D4D_ShowObject(D4D_GET_LIST_BOX_SCROLL_BAR_VER(pThis), D4D_TRUE);
    }
    else
    {
        D4D_ShowObject(D4D_GET_LIST_BOX_SCROLL_BAR_HOR(pThis), D4D_FALSE);
        D4D_ShowObject(D4D_GET_LIST_BOX_SCROLL_BAR_VER(pThis), D4D_FALSE);
    }

}
Beispiel #2
0
static D4D_BOOL D4D_TextBoxScrollBarSetup(D4D_OBJECT* pObject)
{

  // Try to check if the Text Box needs scroll Bar

  // Switch off possible scroll bar in refresh case
  D4D_GET_TEXTBOX_SCROLL_BAR_HOR(pObject)->pData->flags  &= ~D4D_OBJECT_F_VISIBLE;

  D4D_TextBoxValue2Coor(pObject);

  if(D4D_TextBoxGetLineCount(pObject) > _calc.lineCount)
  {
    D4D_GET_TEXTBOX_SCROLL_BAR_HOR(pObject)->pData->flags |= D4D_OBJECT_F_VISIBLE;

    D4D_TextBoxValue2Coor(pObject);

    D4D_ScrlBrSetRange(D4D_GET_TEXTBOX_SCROLL_BAR_HOR(pObject), 0, D4D_TextBoxGetLineCount(pObject));
    D4D_ScrlBrSetStep(D4D_GET_TEXTBOX_SCROLL_BAR_HOR(pObject), _calc.lineCount, D4D_TXTBX_SCRLBR_STEP);
    D4D_ScrlBrSetPosition(D4D_GET_TEXTBOX_SCROLL_BAR_HOR(pObject), 0);
    return D4D_TRUE;
  }
  return D4D_FALSE;
}
Beispiel #3
0
static D4D_BOOL D4D_MenuScrollBarSetup(D4D_OBJECT* pObject)
{
  // Try to check if the Menu needs scroll Bar
  D4D_MenuValue2Coor(pObject);

  // Switch off possible scroll bar in refresh case
  D4D_GET_MENU_SCROLL_BAR_HOR(pObject)->pData->flags &= ~D4D_OBJECT_F_VISIBLE;

  if((_calc.posCnt < _calc.itemsCnt) || (pObject->initFlags & D4D_MENU_F_SIDEBAR))
  {
    D4D_OBJECT* pScrlBr;
    pScrlBr = D4D_GET_MENU_SCROLL_BAR_HOR(pObject);

    pScrlBr->pData->flags |= D4D_OBJECT_F_VISIBLE;

    // Init child objects coordinations
    pScrlBr->position.x = (D4D_COOR)(_calc.contentGeom.pnt.x + _calc.contentGeom.sz.cx  - D4D_MENU_SCRLBR_WIDTH);
    pScrlBr->position.y = (D4D_COOR)(_calc.contentGeom.pnt.y + _calc.titleBar_y + 1);

    pScrlBr->position = D4D_GetScreenToClientPoint( pScrlBr, &pScrlBr->position);

    pScrlBr->size.cx = D4D_MENU_SCRLBR_WIDTH;
    pScrlBr->size.cy = (D4D_COOR)(_calc.contentGeom.sz.cy - _calc.titleBar_y - 1);

    pScrlBr->radius = D4D_LimitU(pObject->radius, 0, D4D_MENU_SCRLBR_WIDTH / 2);

    if(_calc.itemsCnt < _calc.posCnt)
      D4D_ScrlBrSetRange(pScrlBr, 0, _calc.posCnt);
    else
      D4D_ScrlBrSetRange(pScrlBr, 0, _calc.itemsCnt);

    D4D_ScrlBrSetStep(pScrlBr, _calc.posCnt, D4D_MENU_SCRLBR_STEP);
    D4D_ScrlBrSetPosition(pScrlBr, 0);
    return D4D_TRUE;
  }
  return D4D_FALSE;
}