Ejemplo n.º 1
0
/*********************************************************************
*
*       BUTTON_SetDrawObj
*/
void BUTTON__SetDrawObj(BUTTON_Handle hObj, int Index, GUI_DRAW_HANDLE hDrawObj) {
  if (hObj) {
    BUTTON_Obj* pObj;
    WM_LOCK();
    pObj = BUTTON_H2P(hObj);
    BUTTON_ASSERT_IS_VALID_PTR(pObj);
    if ((unsigned int)Index <= GUI_COUNTOF(pObj->ahDrawObj)) {
      GUI_ALLOC_FreePtr(&pObj->ahDrawObj[Index]);
      pObj->ahDrawObj[Index] = hDrawObj;
      BUTTON_Invalidate(hObj);
    }
    WM_UNLOCK();
  }
}
Ejemplo n.º 2
0
int GUI__SetText(GUI_HMEM* phText, const char* s) {
  int r = 0;
  if (GUI__strcmp_hp(*phText, s) != 0) {            /* Make sure we have a quick out if nothing changes */
    GUI_HMEM hMem;
    hMem = GUI_ALLOC_AllocNoInit(GUI__strlen(s) + 1);
    if (hMem) {
      char* pMem;
      pMem = (char*) GUI_ALLOC_h2p(hMem);
      strcpy(pMem, s);
      GUI_ALLOC_FreePtr(phText);
      *phText = hMem;
      r = 1;
    }
  }
  return r;
}
Ejemplo n.º 3
0
/*********************************************************************
*
*       HEADER__SetDrawObj
*/
void HEADER__SetDrawObj(HEADER_Handle hObj, unsigned Index, GUI_DRAW_HANDLE hDrawObj) {
  if (hObj) {
    HEADER_Obj * pObj;
    WM_LOCK();
    pObj = HEADER_H2P(hObj);
    if (Index <= GUI_ARRAY_GetNumItems(&pObj->Columns)) {
      HEADER_COLUMN * pColumn;
      pColumn = (HEADER_COLUMN *)GUI_ARRAY_GetpItem(&pObj->Columns, Index);
      if (pColumn) {
        GUI_ALLOC_FreePtr(&pColumn->hDrawObj);
        pColumn->hDrawObj = hDrawObj;
      }
    }
    WM_UNLOCK();
  }
}
Ejemplo n.º 4
0
/*********************************************************************
*
*       GUI_ARRAY_DeleteItem
*
* Purpose:
*   Eliminate one element in a GUI_ARRAY.
*   This means:
*     - freeing the memory block
*     - moving the last item to the position of the deleted item
*     - possible reducing the size of the memory used for management (opt)
*
*/
void GUI_ARRAY_DeleteItem(GUI_ARRAY* pThis, unsigned int Index) {
  WM_HMEM ha;
  WM_HMEM* pa;
  int i;
  if (Index < (unsigned)pThis->NumItems) {
    ha = pThis->haHandle;
    if (ha) {
      int NumItems;
      WM_LOCK();
      pa = (WM_HMEM*) GUI_ALLOC_h2p(ha);
      /* Free the attached item */
      GUI_ALLOC_FreePtr(pa + Index);
      /* Move the last items to the position of the deleted item */
      NumItems = --pThis->NumItems;
      for (i = Index; i <= NumItems - 1; i++) {
        *(pa + i) = *(pa + i + 1);
      }
      WM_UNLOCK();
    }
  }
}
Ejemplo n.º 5
0
/*********************************************************************
*
*       EDIT_SetText
*/
void EDIT_SetText(EDIT_Handle hObj, const char* s) {
  if (hObj) {
    EDIT_Obj* pObj;
    WM_LOCK();
    pObj = EDIT_H2P(hObj);
    if (s) {
      int NumBytesNew, NumBytesOld = 0;
      int NumCharsNew;
      if (pObj->hpText) {
        char* pText;
        pText       = (char*) GUI_ALLOC_h2p(pObj->hpText);
        NumBytesOld = strlen(pText) + 1;
      }
      NumCharsNew = GUI__GetNumChars(s);
      if (NumCharsNew > pObj->MaxLen) {
        NumCharsNew = pObj->MaxLen;
      }
      NumBytesNew = GUI_UC__NumChars2NumBytes(s, NumCharsNew) + 1;
      if (_IsSpaceInBuffer(pObj, NumBytesNew - NumBytesOld)) {
        char* pText;
        pText = (char*) GUI_ALLOC_h2p(pObj->hpText);
        memcpy(pText, s, NumBytesNew);
        pObj->CursorPos = NumCharsNew;
        if (pObj->CursorPos == pObj->MaxLen) {
          if (pObj->EditMode == GUI_EDIT_MODE_OVERWRITE) {
            pObj->CursorPos--;
          }
        }
      }
    } else {
      GUI_ALLOC_FreePtr(&pObj->hpText);
      pObj->BufferSize = 0;
      pObj->CursorPos  = 0;
    }
    EDIT_Invalidate(hObj);
    WM_UNLOCK();
  }
}
Ejemplo n.º 6
0
/*********************************************************************
*
*       _Delete
*
* Delete attached objects (if any)
*/
static void _Delete(BUTTON_Obj* pObj) {
  GUI_ALLOC_FreePtr(&pObj->hpText);
  GUI_ALLOC_FreePtrArray(pObj->ahDrawObj, GUI_COUNTOF(pObj->ahDrawObj));
}
Ejemplo n.º 7
0
/*********************************************************************
*
*       _FreeAttached
*/
static void _FreeAttached(TEXT_Obj* pObj) {
  GUI_ALLOC_FreePtr(&pObj->hpText);
}
Ejemplo n.º 8
0
/*********************************************************************
*
*       _Delete
*/
static void _Delete(CHECKBOX_Obj * pObj) {
  /* Delete attached objects (if any) */
  GUI_DEBUG_LOG("CHECKBOX: Delete() Deleting attached items");
  GUI_ALLOC_FreePtr(&pObj->hpText);
}
Ejemplo n.º 9
0
/*********************************************************************
*
*       _Delete
*
* Delete attached objects (if any)
*/
static void _Delete(BUTTON_Obj* pObj) {
  GUI_ALLOC_FreePtr(&pObj->hpText);
  GUI_ALLOC_FreePtr(&pObj->ahDrawObj[0]);
  GUI_ALLOC_FreePtr(&pObj->ahDrawObj[1]);
}
Ejemplo n.º 10
0
/*********************************************************************
*
*       _FreeText
*/
static void _FreeText(PROGBAR_Handle hObj) {
  PROGBAR_Obj* pObj = PROGBAR_H2P(hObj);
  GUI_ALLOC_FreePtr(&pObj->hpText);
}
Ejemplo n.º 11
0
/*********************************************************************
*
*       GUI_ALLOC_FreePtrArray
*/
void GUI_ALLOC_FreePtrArray(GUI_HMEM * pArray, int NumElems) {
  int i;
  for (i = 0; i < NumElems; i++) {
    GUI_ALLOC_FreePtr(&pArray[i]);
  }
}
Ejemplo n.º 12
0
/*********************************************************************
*
*       _Delete
*/
static void _Delete(EDIT_Obj* pObj) {
  GUI_ALLOC_FreePtr(&pObj->hpText);
}