use crate::common::*;
use crate::AppKit::*;
use crate::Foundation::*;
use crate::OSAKit::*;
ns_enum!(
#[underlying(NSInteger)]
pub enum OSAScriptState {
OSAScriptStopped = 0,
OSAScriptRunning = 1,
OSAScriptRecording = 2,
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "OSAKit_OSAScriptController")]
pub struct OSAScriptController;
#[cfg(feature = "OSAKit_OSAScriptController")]
unsafe impl ClassType for OSAScriptController {
#[inherits(NSObject)]
type Super = NSController;
type Mutability = MainThreadOnly;
}
);
#[cfg(feature = "OSAKit_OSAScriptController")]
unsafe impl NSCoding for OSAScriptController {}
#[cfg(feature = "OSAKit_OSAScriptController")]
unsafe impl NSEditor for OSAScriptController {}
#[cfg(feature = "OSAKit_OSAScriptController")]
unsafe impl NSEditorRegistration for OSAScriptController {}
#[cfg(feature = "OSAKit_OSAScriptController")]
unsafe impl NSObjectProtocol for OSAScriptController {}
extern_methods!(
#[cfg(feature = "OSAKit_OSAScriptController")]
unsafe impl OSAScriptController {
#[cfg(feature = "OSAKit_OSAScriptView")]
#[method_id(@__retain_semantics Other scriptView)]
pub unsafe fn scriptView(&self) -> Option<Id<OSAScriptView>>;
#[cfg(feature = "OSAKit_OSAScriptView")]
#[method(setScriptView:)]
pub unsafe fn setScriptView(&self, script_view: Option<&OSAScriptView>);
#[cfg(feature = "AppKit_NSTextView")]
#[method_id(@__retain_semantics Other resultView)]
pub unsafe fn resultView(&self) -> Option<Id<NSTextView>>;
#[cfg(feature = "AppKit_NSTextView")]
#[method(setResultView:)]
pub unsafe fn setResultView(&self, result_view: Option<&NSTextView>);
#[cfg(feature = "OSAKit_OSAScript")]
#[method_id(@__retain_semantics Other script)]
pub unsafe fn script(&self) -> Option<Id<OSAScript>>;
#[cfg(feature = "OSAKit_OSAScript")]
#[method(setScript:)]
pub unsafe fn setScript(&self, script: Option<&OSAScript>);
#[cfg(feature = "OSAKit_OSALanguage")]
#[method_id(@__retain_semantics Other language)]
pub unsafe fn language(&self) -> Option<Id<OSALanguage>>;
#[cfg(feature = "OSAKit_OSALanguage")]
#[method(setLanguage:)]
pub unsafe fn setLanguage(&self, language: Option<&OSALanguage>);
#[method(scriptState)]
pub unsafe fn scriptState(&self) -> OSAScriptState;
#[method(isCompiling)]
pub unsafe fn isCompiling(&self) -> bool;
#[method(compileScript:)]
pub unsafe fn compileScript(&self, sender: Option<&AnyObject>);
#[method(recordScript:)]
pub unsafe fn recordScript(&self, sender: Option<&AnyObject>);
#[method(runScript:)]
pub unsafe fn runScript(&self, sender: Option<&AnyObject>);
#[method(stopScript:)]
pub unsafe fn stopScript(&self, sender: Option<&AnyObject>);
}
);
extern_methods!(
#[cfg(feature = "OSAKit_OSAScriptController")]
unsafe impl OSAScriptController {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[cfg(feature = "Foundation_NSCoder")]
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(this: Allocated<Self>, coder: &NSCoder) -> Option<Id<Self>>;
}
);
extern_methods!(
#[cfg(feature = "OSAKit_OSAScriptController")]
unsafe impl OSAScriptController {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Id<Self>;
}
);