mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-03 07:10:40 +08:00

This makes sure we always use the correct WKURLSchemeTask during processURLResponse. Only using the URL is not unique enough and might result in pending requests if two requests with the same URL are getting processed.
100 lines
3.5 KiB
Objective-C
100 lines
3.5 KiB
Objective-C
//
|
|
// WailsContext.h
|
|
// test
|
|
//
|
|
// Created by Lea Anthony on 10/10/21.
|
|
//
|
|
|
|
#ifndef WailsContext_h
|
|
#define WailsContext_h
|
|
|
|
#import <Cocoa/Cocoa.h>
|
|
#import <WebKit/WebKit.h>
|
|
|
|
#if __has_include(<UniformTypeIdentifiers/UTType.h>)
|
|
#define USE_NEW_FILTERS
|
|
#import <UniformTypeIdentifiers/UTType.h>
|
|
#endif
|
|
|
|
#define ON_MAIN_THREAD(str) dispatch_async(dispatch_get_main_queue(), ^{ str; });
|
|
#define unicode(input) [NSString stringWithFormat:@"%C", input]
|
|
|
|
@interface WailsWindow : NSWindow
|
|
|
|
@property NSSize userMinSize;
|
|
@property NSSize userMaxSize;
|
|
|
|
- (BOOL) canBecomeKeyWindow;
|
|
- (void) applyWindowConstraints;
|
|
- (void) disableWindowConstraints;
|
|
@end
|
|
|
|
@interface WailsContext : NSObject <WKURLSchemeHandler,WKScriptMessageHandler,WKNavigationDelegate>
|
|
|
|
@property (retain) WailsWindow* mainWindow;
|
|
@property (retain) WKWebView* webview;
|
|
@property (nonatomic, assign) id appdelegate;
|
|
|
|
@property bool hideOnClose;
|
|
@property bool shuttingDown;
|
|
@property bool startHidden;
|
|
@property bool startFullscreen;
|
|
|
|
@property (retain) NSEvent* mouseEvent;
|
|
|
|
@property bool alwaysOnTop;
|
|
|
|
@property bool debug;
|
|
|
|
@property (retain) WKUserContentController* userContentController;
|
|
@property (retain) NSLock *urlRequestsLock;
|
|
@property unsigned long long urlRequestsId;
|
|
@property (retain) NSMutableDictionary *urlRequests;
|
|
|
|
@property (retain) NSMenu* applicationMenu;
|
|
|
|
@property (retain) NSImage* aboutImage;
|
|
@property (retain) NSString* aboutTitle;
|
|
@property (retain) NSString* aboutDescription;
|
|
|
|
- (void) CreateWindow:(int)width :(int)height :(bool)frameless :(bool)resizable :(bool)fullscreen :(bool)fullSizeContent :(bool)hideTitleBar :(bool)titlebarAppearsTransparent :(bool)hideTitle :(bool)useToolbar :(bool)hideToolbarSeparator :(bool)webviewIsTransparent :(bool)hideWindowOnClose :(NSString *)appearance :(bool)windowIsTranslucent :(int)minWidth :(int)minHeight :(int)maxWidth :(int)maxHeight;
|
|
- (void) SetSize:(int)width :(int)height;
|
|
- (void) SetPosition:(int)x :(int) y;
|
|
- (void) SetMinSize:(int)minWidth :(int)minHeight;
|
|
- (void) SetMaxSize:(int)maxWidth :(int)maxHeight;
|
|
- (void) SetTitle:(NSString*)title;
|
|
- (void) SetAlwaysOnTop:(int)onTop;
|
|
- (void) Center;
|
|
- (void) Fullscreen;
|
|
- (void) UnFullscreen;
|
|
- (void) Minimise;
|
|
- (void) UnMinimise;
|
|
- (void) Maximise;
|
|
- (void) ToggleMaximise;
|
|
- (void) UnMaximise;
|
|
- (void) SetBackgroundColour:(int)r :(int)g :(int)b :(int)a;
|
|
- (void) HideMouse;
|
|
- (void) ShowMouse;
|
|
- (void) Hide;
|
|
- (void) Show;
|
|
- (void) HideApplication;
|
|
- (void) ShowApplication;
|
|
- (void) Quit;
|
|
|
|
-(void) MessageDialog :(NSString*)dialogType :(NSString*)title :(NSString*)message :(NSString*)button1 :(NSString*)button2 :(NSString*)button3 :(NSString*)button4 :(NSString*)defaultButton :(NSString*)cancelButton :(void*)iconData :(int)iconDataLength;
|
|
- (void) OpenFileDialog :(NSString*)title :(NSString*)defaultFilename :(NSString*)defaultDirectory :(bool)allowDirectories :(bool)allowFiles :(bool)canCreateDirectories :(bool)treatPackagesAsDirectories :(bool)resolveAliases :(bool)showHiddenFiles :(bool)allowMultipleSelection :(NSString*)filters;
|
|
- (void) SaveFileDialog :(NSString*)title :(NSString*)defaultFilename :(NSString*)defaultDirectory :(bool)canCreateDirectories :(bool)treatPackagesAsDirectories :(bool)showHiddenFiles :(NSString*)filters;
|
|
|
|
- (void) loadRequest:(NSString*)url;
|
|
- (void) processURLResponse:(unsigned long long)requestId :(int)statusCode :(NSData *)headersString :(NSData*)data;
|
|
- (void) ExecJS:(NSString*)script;
|
|
- (NSScreen*) getCurrentScreen;
|
|
|
|
- (void) SetAbout :(NSString*)title :(NSString*)description :(void*)imagedata :(int)datalen;
|
|
- (void) dealloc;
|
|
|
|
@end
|
|
|
|
|
|
#endif /* WailsContext_h */
|