nkeynes@681: /** nkeynes@681: * $Id$ nkeynes@681: * nkeynes@681: * Core Cocoa-based user interface nkeynes@681: * nkeynes@681: * Copyright (c) 2008 Nathan Keynes. nkeynes@681: * nkeynes@681: * This program is free software; you can redistribute it and/or modify nkeynes@681: * it under the terms of the GNU General Public License as published by nkeynes@681: * the Free Software Foundation; either version 2 of the License, or nkeynes@681: * (at your option) any later version. nkeynes@681: * nkeynes@681: * This program is distributed in the hope that it will be useful, nkeynes@681: * but WITHOUT ANY WARRANTY; without even the implied warranty of nkeynes@681: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the nkeynes@681: * GNU General Public License for more details. nkeynes@681: */ nkeynes@780: nkeynes@736: #ifndef lxdream_cocoaui_H nkeynes@736: #define lxdream_cocoaui_H nkeynes@736: nkeynes@681: #import nkeynes@755: #include "lxdream.h" nkeynes@755: #include "gettext.h" nkeynes@681: nkeynes@736: #ifdef __cplusplus nkeynes@736: extern "C" { nkeynes@736: #endif nkeynes@736: nkeynes@681: #define NS_(x) [NSString stringWithUTF8String: _(x)] nkeynes@681: nkeynes@765: /* Standard sizing */ nkeynes@765: #define TEXT_HEIGHT 22 nkeynes@765: #define LABEL_HEIGHT 17 nkeynes@765: #define TEXT_GAP 10 nkeynes@765: nkeynes@681: NSWindow *cocoa_gui_create_main_window(); nkeynes@691: NSMenu *cocoa_gdrom_menu_new(); nkeynes@681: NSView *video_osx_create_drawable(); nkeynes@765: void cocoa_gui_show_preferences(); nkeynes@770: NSView *cocoa_gui_create_prefs_controller_pane(); nkeynes@770: NSView *cocoa_gui_create_prefs_path_pane(); nkeynes@770: nkeynes@770: /** nkeynes@770: * Convenience method to create a new text label in the specified parent. nkeynes@770: */ nkeynes@770: NSTextField *cocoa_gui_add_label(NSView *parent, NSString *title, NSRect frame); nkeynes@681: nkeynes@780: @interface LxdreamVideoView : NSView nkeynes@780: { nkeynes@780: BOOL isGrabbed; nkeynes@780: id delegate; nkeynes@780: } nkeynes@780: - (void) setDelegate: (id)other; nkeynes@780: - (id)delegate; nkeynes@780: - (void) setIsGrabbed: (BOOL)grabbed; nkeynes@780: @end nkeynes@780: nkeynes@681: @interface LxdreamMainWindow : NSWindow nkeynes@681: { nkeynes@780: LxdreamVideoView *video; nkeynes@681: NSTextField *status; nkeynes@681: BOOL isGrabbed; nkeynes@681: } nkeynes@681: - (id)initWithContentRect:(NSRect)contentRect; nkeynes@681: - (void)setStatusText:(const gchar *)text; nkeynes@681: - (void)setRunning:(BOOL)isRunning; nkeynes@681: - (BOOL)isGrabbed; nkeynes@681: - (void)setIsGrabbed:(BOOL)grab; nkeynes@681: @end nkeynes@681: nkeynes@765: @interface LxdreamPrefsPane : NSView nkeynes@765: { nkeynes@765: int headerHeight; nkeynes@765: } nkeynes@765: - (id)initWithFrame: (NSRect)frameRect title:(NSString *)title; nkeynes@765: - (int)contentHeight; nkeynes@765: @end nkeynes@765: nkeynes@770: @interface KeyBindingEditor: NSTextView nkeynes@770: { nkeynes@770: BOOL isPrimed; nkeynes@770: NSString *lastValue; nkeynes@770: } nkeynes@770: @end nkeynes@770: nkeynes@770: @interface KeyBindingField : NSTextField nkeynes@770: { nkeynes@770: } nkeynes@770: @end nkeynes@770: nkeynes@725: @interface LxdreamPrefsPanel : NSPanel nkeynes@725: { nkeynes@765: NSArray *toolbar_ids; nkeynes@765: NSArray *toolbar_defaults; nkeynes@765: NSDictionary *toolbar_items; nkeynes@765: NSView *path_pane, *ctrl_pane; nkeynes@770: KeyBindingEditor *binding_editor; nkeynes@725: } nkeynes@725: - (id)initWithContentRect:(NSRect)contentRect; nkeynes@725: @end nkeynes@681: nkeynes@736: #ifdef __cplusplus nkeynes@736: } nkeynes@736: #endif nkeynes@736: nkeynes@681: #endif /* lxdream_cocoaui_H */