Mercurial > octave-nkf
view src/display-available.c @ 20540:dd327c0909b0
listdlg: Make appearance and behavior more Matlab compatible (bug #46026)
* dialog.h, dialog.cc (ListDialog::ListDialog): Hide "Select All" button when
in single-selection mode. Set "Ok" button as the default button, allows
Enter/Return to accept the selection. Handle double-click on list item with
the item_double_clicked slot. (ListDialog::item_double_clicked): New slot.
author | Mike Miller <mtmiller@octave.org> |
---|---|
date | Tue, 22 Sep 2015 21:06:01 +0200 |
parents | 299fe39163a2 |
children |
line wrap: on
line source
/* Copyright (C) 2012-2015 John W. Eaton This file is part of Octave. Octave is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <http://www.gnu.org/licenses/>. */ #ifdef HAVE_CONFIG_H #include <config.h> #endif #include <stdlib.h> #if defined (OCTAVE_USE_WINDOWS_API) #include <windows.h> #elif defined (HAVE_FRAMEWORK_CARBON) #include <Carbon/Carbon.h> #elif defined (HAVE_X_WINDOWS) #include <X11/Xlib.h> #endif #include "display-available.h" const char * display_available (int *dpy_avail) { *dpy_avail = 0; const char *err_msg = ""; #if defined (OCTAVE_USE_WINDOWS_API) HDC hdc = GetDC (0); if (hdc) *dpy_avail = 1; else err_msg = "no graphical display found"; #elif defined (HAVE_FRAMEWORK_CARBON) CGDirectDisplayID display = CGMainDisplayID (); if (display) *dpy_avail = 1; else err_msg = "no graphical display found"; #elif defined (HAVE_X_WINDOWS) const char *display_name = getenv ("DISPLAY"); if (display_name && *display_name) { Display *display = XOpenDisplay (display_name); if (display) { Screen *screen = DefaultScreenOfDisplay (display); if (! screen) err_msg = "X11 display has no default screen"; XCloseDisplay (display); *dpy_avail = 1; } else err_msg = "unable to open X11 DISPLAY"; } else err_msg = "X11 DISPLAY environment variable not set"; #else err_msg = "no graphical display found"; #endif return err_msg; }