Files
PojavLauncher_iOS/Natives/CustomControlsViewController.h
khanhduytran0 6cf61e62c0 Feats: preference isolation & profile management
- Rewrote LauncherPreferences -> PLPreferences
 + Now the file layout is the same as UI layout
 + (get/set)Preference are replaced with corresponding get/set types + Getting/setting is now done through keyPath instead of manually iterating over subdictionaries.
 + Implemented an isolation layer, allowing an instance to have its own settings. This is off by default

- Implemented launcher_profiles
 + Added Profile manager that can be accessed from the sidebar
 + Moved "Game directory (instances)" to this screen
 + Replaced version selector with profile selector. Version selector is moved into profile editor.

- Other changes
 + Cleanup code by using NSPredicate instead of huge for loops
 + Titles in settings are made multilined
 + Controller config: replaced bar button items with localized ones

Due to how large the changes are, this is committed directly to the mainline branch. Bugs are expected to be found (although I did enough tests for this locally)
2023-07-06 13:59:07 +07:00

34 lines
1.1 KiB
Objective-C

#import <UIKit/UIKit.h>
#import "customcontrols/ControlButton.h"
#import "customcontrols/ControlLayout.h"
typedef NSString* (^GetDefaultCtrlBlock)();
typedef void (^SetDefaultCtrlBlock)(NSString *);
@interface ControlHandleView : UIView
@property(nonatomic, weak) ControlButton* target;
@end
@interface CustomControlsViewController : UIViewController
@property(nonatomic) GetDefaultCtrlBlock getDefaultCtrl;
@property(nonatomic) SetDefaultCtrlBlock setDefaultCtrl;
@property(nonatomic) UIGestureRecognizer* currentGesture;
@property(nonatomic) ControlLayout* ctrlView;
@property(nonatomic) ControlHandleView* resizeView;
@end
@interface CustomControlsViewController(UndoManager)
- (void)doAddButton:(ControlButton *)button atIndex:(NSNumber *)index;
- (void)doRemoveButton:(ControlButton *)button;
- (void)doMoveOrResizeButton:(ControlButton *)button from:(CGRect)from to:(CGRect)to;
- (void)doUpdateButton:(ControlButton *)button from:(NSMutableDictionary *)from to:(NSMutableDictionary *)to;
@end
@interface CCMenuViewController : UIViewController
@property(nonatomic) ControlButton* targetButton;
@end