Lines Matching defs:bs

218 static int buttons_min_width(struct buttons *bs)
222 width = bs->nbuttons * bs->sizebutton;
223 if (bs->nbuttons > 0)
224 width += (bs->nbuttons - 1) * t.button.minmargin;
275 newmargin = d->w - BORDERS - (d->bs.nbuttons * d->bs.sizebutton);
276 newmargin /= (d->bs.nbuttons + 1);
280 wbuttons = buttons_min_width(&d->bs);
283 wbuttons = d->bs.nbuttons * d->bs.sizebutton;
284 wbuttons += (d->bs.nbuttons + 1) * margin;
288 for (i = 0; i < (int)d->bs.nbuttons; i++) {
289 x = i * (d->bs.sizebutton + margin);
290 draw_button(d->widget, y, startx + x, d->bs.sizebutton,
291 d->bs.label[i], d->bs.first[i], i == d->bs.curr,
292 d->bs.shortcut);
306 d->bs.nbuttons = 0;
307 d->bs.curr = 0;
308 d->bs.sizebutton = 0;
309 d->bs.shortcut = shortcut;
312 d->bs.label[d->bs.nbuttons] = d->conf->button.left1_label;
313 d->bs.value[d->bs.nbuttons] = BSDDIALOG_LEFT1;
314 d->bs.nbuttons += 1;
318 d->bs.label[d->bs.nbuttons] = d->conf->button.left2_label;
319 d->bs.value[d->bs.nbuttons] = BSDDIALOG_LEFT2;
320 d->bs.nbuttons += 1;
324 d->bs.label[d->bs.nbuttons] = d->conf->button.left3_label;
325 d->bs.value[d->bs.nbuttons] = BSDDIALOG_LEFT3;
326 d->bs.nbuttons += 1;
330 d->bs.label[d->bs.nbuttons] = d->conf->button.ok_label != NULL ?
332 d->bs.value[d->bs.nbuttons] = BSDDIALOG_OK;
333 d->bs.nbuttons += 1;
337 d->bs.label[d->bs.nbuttons] = d->conf->button.extra_label != NULL ?
339 d->bs.value[d->bs.nbuttons] = BSDDIALOG_EXTRA;
340 d->bs.nbuttons += 1;
344 d->bs.label[d->bs.nbuttons] = d->conf->button.cancel_label ?
346 d->bs.value[d->bs.nbuttons] = BSDDIALOG_CANCEL;
348 d->bs.curr = d->bs.nbuttons;
349 d->bs.nbuttons += 1;
353 d->bs.label[d->bs.nbuttons] = d->conf->button.help_label != NULL ?
355 d->bs.value[d->bs.nbuttons] = BSDDIALOG_HELP;
356 d->bs.nbuttons += 1;
360 d->bs.label[d->bs.nbuttons] = d->conf->button.right1_label;
361 d->bs.value[d->bs.nbuttons] = BSDDIALOG_RIGHT1;
362 d->bs.nbuttons += 1;
366 d->bs.label[d->bs.nbuttons] = d->conf->button.right2_label;
367 d->bs.value[d->bs.nbuttons] = BSDDIALOG_RIGHT2;
368 d->bs.nbuttons += 1;
372 d->bs.label[d->bs.nbuttons] = d->conf->button.right3_label;
373 d->bs.value[d->bs.nbuttons] = BSDDIALOG_RIGHT3;
374 d->bs.nbuttons += 1;
377 if (d->bs.nbuttons == 0) {
378 d->bs.label[0] = DEFAULT_BUTTON_LABEL;
379 d->bs.value[0] = DEFAULT_BUTTON_VALUE;
380 d->bs.nbuttons = 1;
383 for (i = 0; i < (int)d->bs.nbuttons; i++) {
384 mbtowc(&first, d->bs.label[i], MB_CUR_MAX);
385 d->bs.first[i] = first;
389 for (i = 0; i < (int)d->bs.nbuttons; i++) {
391 d->bs.label[i]) == 0)
392 d->bs.curr = i;
396 d->bs.sizebutton = MAX(SIZEBUTTON - 2, strcols(d->bs.label[0]));
397 for (i = 1; i < (int)d->bs.nbuttons; i++)
398 d->bs.sizebutton = MAX(d->bs.sizebutton, strcols(d->bs.label[i]));
399 d->bs.sizebutton += 2;
402 bool shortcut_buttons(wint_t key, struct buttons *bs)
408 for (i = 0; i < bs->nbuttons; i++) {
409 if (towlower(key) == towlower(bs->first[i])) {
410 bs->curr = i;
679 struct buttons *bs, int rowsnotext, int startwtext, int *htext, int *wtext)
686 if (bs->nbuttons > 0)
687 wbuttons = buttons_min_width(bs);
695 if (bs->nbuttons > 0)
759 struct buttons *bs)
767 if (bs->nbuttons > 0)
768 min += buttons_min_width(bs);
830 int *w, const char *text, int *rowstext, struct buttons *bs, int hnotext,
837 if (text_size(conf, rows, cols, text, bs, hnotext, minw,
845 *h = widget_min_height(conf, htext, hnotext, bs->nbuttons > 0);
850 *w = widget_min_width(conf, wtext, minw, bs);
857 int widget_checksize(int h, int w, struct buttons *bs, int hnotext, int minw)
862 if (bs->nbuttons > 0)
869 if (bs->nbuttons > 0)
870 minwidth = buttons_min_width(bs);
926 d->text, htext, &d->bs, hnotext, minw) != 0)
928 if (widget_checksize(d->h, d->w, &d->bs, hnotext, minw) != 0)
986 cchar_t *ls, *rs, *ts, *bs, *tl, *tr, *bl, *br;
996 ts = bs = &vline;
1001 ts = bs = WACS_HLINE;
1015 wborder_set(win, ls, rs, ts, bs, tl, tr, bl, br);
1022 mvwhline_set(win, h-1, 1, bs, w-2);
1298 if (d->bs.nbuttons > 0) {
1348 d->bs.nbuttons = 0;