📄 prefs_widgets.m
字号:
NSRect s_rc = superFrame; \ s_rc.origin.x = x_offset; \ s_rc.origin.y = my_y_offset; \ s_rc.size.height = 23; \ s_rc.size.width = 23; \ o_stepper = [[[NSStepper alloc] initWithFrame: s_rc] retain]; \ [o_stepper setFont:[NSFont systemFontOfSize:0]]; \ [o_stepper setToolTip: tooltip]; \ [o_stepper setMaxValue: higher]; \ [o_stepper setMinValue: lower]; \ [o_stepper setTarget: self]; \ [o_stepper setAction: @selector(stepperChanged:)]; \ [o_stepper sendActionOn:NSLeftMouseUpMask | NSLeftMouseDownMask | \ NSLeftMouseDraggedMask]; \}#define ADD_SLIDER( o_slider, superFrame, x_offset, my_y_offset, my_width, \ tooltip, lower, higher ) \{ \ NSRect s_rc = superFrame; \ s_rc.origin.x = x_offset; \ s_rc.origin.y = my_y_offset; \ s_rc.size.height = 21; \ s_rc.size.width = my_width; \ o_slider = [[[NSSlider alloc] initWithFrame: s_rc] retain]; \ [o_slider setFont:[NSFont systemFontOfSize:0]]; \ [o_slider setToolTip: tooltip]; \ [o_slider setMaxValue: higher]; \ [o_slider setMinValue: lower]; \}#define ADD_CHECKBOX( o_checkbox, superFrame, x_offset, my_y_offset, label, \ tooltip, init_value, position ) \{ \ NSRect s_rc = superFrame; \ s_rc.size.height = 18; \ s_rc.origin.x = x_offset - 2; \ s_rc.origin.y = superFrame.size.height - 18 + my_y_offset; \ o_checkbox = [[[NSButton alloc] initWithFrame: s_rc] retain]; \ [o_checkbox setFont:[NSFont systemFontOfSize:0]]; \ [o_checkbox setButtonType: NSSwitchButton]; \ [o_checkbox setImagePosition: position]; \ [o_checkbox setIntValue: init_value]; \ [o_checkbox setTitle: label]; \ [o_checkbox setToolTip: tooltip]; \ [o_checkbox sizeToFit]; \}@implementation VLCConfigControl- (id)initWithFrame: (NSRect)frame{ return [self initWithFrame: frame item: nil];}- (id)initWithFrame: (NSRect)frame item: (module_config_t *)_p_item{ self = [super initWithFrame: frame]; if( self != nil ) { p_item = _p_item; psz_name = strdup( p_item->psz_name ); o_label = NULL; i_type = p_item->i_type; i_view_type = 0; b_advanced = p_item->b_advanced; [self setAutoresizingMask:NSViewWidthSizable | NSViewMinYMargin ]; } return (self);}- (void)setYPos:(int)i_yPos{ NSRect frame = [self frame]; frame.origin.y = i_yPos; [self setFrame:frame];}- (void)dealloc{ if( o_label ) [o_label release]; if( psz_name ) free( psz_name ); [super dealloc];}+ (int)calcVerticalMargin: (int)i_curItem lastItem: (int)i_lastItem{ int i_margin; switch( i_curItem ) { case CONFIG_ITEM_STRING: switch( i_lastItem ) { case CONFIG_ITEM_STRING: i_margin = 8; break; case CONFIG_ITEM_STRING_LIST: i_margin = 7; break; case CONFIG_ITEM_FILE: i_margin = 8; break; case CONFIG_ITEM_MODULE: i_margin = 4; break; case CONFIG_ITEM_INTEGER: i_margin = 7; break; case CONFIG_ITEM_RANGED_INTEGER: i_margin = 5; break; case CONFIG_ITEM_BOOL: i_margin = 7; break; case CONFIG_ITEM_KEY_BEFORE_10_3: i_margin = 7; break; case CONFIG_ITEM_KEY_AFTER_10_3: i_margin = 6; break; case CONFIG_ITEM_MODULE_LIST: i_margin = 8; break; default: i_margin = 20; break; } break; case CONFIG_ITEM_STRING_LIST: switch( i_lastItem ) { case CONFIG_ITEM_STRING: i_margin = 8; break; case CONFIG_ITEM_STRING_LIST: i_margin = 7; break; case CONFIG_ITEM_FILE: i_margin = 6; break; case CONFIG_ITEM_MODULE: i_margin = 4; break; case CONFIG_ITEM_INTEGER: i_margin = 7; break; case CONFIG_ITEM_RANGED_INTEGER: i_margin = 5; break; case CONFIG_ITEM_BOOL: i_margin = 7; break; case CONFIG_ITEM_KEY_BEFORE_10_3: i_margin = 7; break; case CONFIG_ITEM_KEY_AFTER_10_3: i_margin = 6; break; case CONFIG_ITEM_MODULE_LIST: i_margin = 8; break; default: i_margin = 20; break; } break; case CONFIG_ITEM_FILE: switch( i_lastItem ) { case CONFIG_ITEM_STRING: i_margin = 13; break; case CONFIG_ITEM_STRING_LIST: i_margin = 10; break; case CONFIG_ITEM_FILE: i_margin = 9; break; case CONFIG_ITEM_MODULE: i_margin = 9; break; case CONFIG_ITEM_INTEGER: i_margin = 10; break; case CONFIG_ITEM_RANGED_INTEGER: i_margin = 8; break; case CONFIG_ITEM_BOOL: i_margin = 10; break; case CONFIG_ITEM_KEY_BEFORE_10_3: i_margin = 10; break; case CONFIG_ITEM_KEY_AFTER_10_3: i_margin = 9; break; case CONFIG_ITEM_MODULE_LIST: i_margin = 11; break; default: i_margin = 23; break; } break; case CONFIG_ITEM_MODULE: switch( i_lastItem ) { case CONFIG_ITEM_STRING: i_margin = 8; break; case CONFIG_ITEM_STRING_LIST: i_margin = 7; break; case CONFIG_ITEM_FILE: i_margin = 6; break; case CONFIG_ITEM_MODULE: i_margin = 5; break; case CONFIG_ITEM_INTEGER: i_margin = 7; break; case CONFIG_ITEM_RANGED_INTEGER: i_margin = 6; break; case CONFIG_ITEM_BOOL: i_margin = 8; break; case CONFIG_ITEM_KEY_BEFORE_10_3: i_margin = 8; break; case CONFIG_ITEM_KEY_AFTER_10_3: i_margin = 7; break; case CONFIG_ITEM_MODULE_LIST: i_margin = 9; break; default: i_margin = 20; break; } break; case CONFIG_ITEM_INTEGER: switch( i_lastItem ) { case CONFIG_ITEM_STRING: i_margin = 8; break; case CONFIG_ITEM_STRING_LIST: i_margin = 7; break; case CONFIG_ITEM_FILE: i_margin = 6; break; case CONFIG_ITEM_MODULE: i_margin = 4; break; case CONFIG_ITEM_INTEGER: i_margin = 7; break; case CONFIG_ITEM_RANGED_INTEGER: i_margin = 5; break; case CONFIG_ITEM_BOOL: i_margin = 7; break; case CONFIG_ITEM_KEY_BEFORE_10_3: i_margin = 7; break; case CONFIG_ITEM_KEY_AFTER_10_3: i_margin = 6; break; case CONFIG_ITEM_MODULE_LIST: i_margin = 8; break; default: i_margin = 20; break; } break; case CONFIG_ITEM_RANGED_INTEGER: switch( i_lastItem ) { case CONFIG_ITEM_STRING: i_margin = 8; break; case CONFIG_ITEM_STRING_LIST: i_margin = 7; break; case CONFIG_ITEM_FILE: i_margin = 8; break; case CONFIG_ITEM_MODULE: i_margin = 4; break; case CONFIG_ITEM_INTEGER: i_margin = 7; break; case CONFIG_ITEM_RANGED_INTEGER: i_margin = 5; break; case CONFIG_ITEM_BOOL: i_margin = 7; break; case CONFIG_ITEM_KEY_BEFORE_10_3: i_margin = 7; break; case CONFIG_ITEM_KEY_AFTER_10_3: i_margin = 6; break; case CONFIG_ITEM_MODULE_LIST: i_margin = 8; break; default: i_margin = 20; break; } break; case CONFIG_ITEM_BOOL: switch( i_lastItem ) { case CONFIG_ITEM_STRING: i_margin = 10; break; case CONFIG_ITEM_STRING_LIST: i_margin = 9; break; case CONFIG_ITEM_FILE: i_margin = 8; break; case CONFIG_ITEM_MODULE: i_margin = 6; break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -