Esempio n. 1
0
static void fontAction(Widget widget, xfselControlBlkType *ctrlBlk, 
                 XmListCallbackStruct *call_data)
{
    char    *sel;

    XmStringGetLtoR(call_data->item, XmSTRING_DEFAULT_CHARSET, &sel);

    if (ctrlBlk->sel1 == NULL)
    {
        ctrlBlk->sel1 = XtMalloc(strlen(sel) + 1);
        strcpy(ctrlBlk->sel1, sel);
    }
    else
    {
        if (strcmp(ctrlBlk->sel1, sel) == 0)
        {           /* Unselecting current selection */
            XtFree(ctrlBlk->sel1);
            ctrlBlk->sel1 = NULL;
            XmListDeselectItem(widget, call_data->item);
        }
        else
        {
            XtFree(ctrlBlk->sel1);
            ctrlBlk->sel1 = XtMalloc(strlen(sel) + 1);
            strcpy(ctrlBlk->sel1, sel);
        }
    }

    XtFree(sel);
    setupScrollLists(FONT, *ctrlBlk);
    if ((ctrlBlk->sel1 != NULL) && (ctrlBlk->sel2 != NULL) && 
        (ctrlBlk->sel3 != NULL))
        choiceMade(ctrlBlk);
    else
    {
        enableSample(ctrlBlk, False, NULL);
        XmTextSetString(ctrlBlk->fontNameField, "");
    }
}
Esempio n. 2
0
void ChoiceView::choose(int chosen) {
    emit choiceMade(_choices[chosen]);
}