mirror of
https://github.com/wailsapp/wails.git
synced 2026-03-14 14:45:49 +01:00
Support EnableDevTools
This commit is contained in:
parent
af6daa273e
commit
df1cc2ee0b
4 changed files with 48 additions and 20 deletions
|
|
@ -22,16 +22,17 @@ func main() {
|
|||
println("TERMINATION!!")
|
||||
})
|
||||
myWindow := app.NewWindow(&options.Window{
|
||||
Title: "Basic",
|
||||
Width: 600,
|
||||
Height: 400,
|
||||
AlwaysOnTop: false,
|
||||
URL: "https://google.com",
|
||||
DisableResize: false,
|
||||
MinWidth: 100,
|
||||
MinHeight: 100,
|
||||
MaxWidth: 1000,
|
||||
MaxHeight: 1000,
|
||||
Title: "Basic",
|
||||
Width: 600,
|
||||
Height: 400,
|
||||
AlwaysOnTop: false,
|
||||
URL: "https://google.com",
|
||||
DisableResize: false,
|
||||
MinWidth: 100,
|
||||
MinHeight: 100,
|
||||
MaxWidth: 1000,
|
||||
MaxHeight: 1000,
|
||||
EnableDevTools: true,
|
||||
})
|
||||
|
||||
myWindow2 := app.NewWindow(&options.Window{
|
||||
|
|
@ -47,6 +48,7 @@ func main() {
|
|||
time.Sleep(5 * time.Second)
|
||||
myWindow.SetTitle("Wooooo")
|
||||
myWindow.SetAlwaysOnTop(true)
|
||||
myWindow2.EnableDevTools()
|
||||
myWindow2.SetTitle("OMFG")
|
||||
myWindow2.NavigateToURL("https://wails.io")
|
||||
myWindow.SetMinSize(600, 600)
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ type windowImpl interface {
|
|||
setResizable(resizable bool)
|
||||
setMinSize(width, height int)
|
||||
setMaxSize(width, height int)
|
||||
enableDevTools()
|
||||
}
|
||||
|
||||
type Window struct {
|
||||
|
|
@ -100,3 +101,11 @@ func (w *Window) SetMaxSize(maxWidth, maxHeight int) {
|
|||
w.impl.setSize(w.options.Width, w.options.Height)
|
||||
w.impl.setMaxSize(maxWidth, maxHeight)
|
||||
}
|
||||
|
||||
func (w *Window) EnableDevTools() {
|
||||
if w.impl == nil {
|
||||
w.options.EnableDevTools = true
|
||||
return
|
||||
}
|
||||
w.impl.enableDevTools()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -126,6 +126,16 @@ void windowResetMaxSize(void* nsWindow) {
|
|||
});
|
||||
}
|
||||
|
||||
// Enable NSWindow devtools
|
||||
void windowEnableDevTools(void* nsWindow) {
|
||||
// Enable devtools on main thread
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
// Get window delegate
|
||||
WindowDelegate* delegate = (WindowDelegate*)[(NSWindow*)nsWindow delegate];
|
||||
// Enable devtools in webview
|
||||
[delegate.webView.configuration.preferences setValue:@YES forKey:@"developerExtrasEnabled"];
|
||||
});
|
||||
}
|
||||
*/
|
||||
import "C"
|
||||
import (
|
||||
|
|
@ -173,6 +183,9 @@ func (w *macosWindow) setMaxSize(width, height int) {
|
|||
func (w *macosWindow) setResizable(resizable bool) {
|
||||
C.windowSetResizable(w.nsWindow, C.bool(resizable))
|
||||
}
|
||||
func (w *macosWindow) enableDevTools() {
|
||||
C.windowEnableDevTools(w.nsWindow)
|
||||
}
|
||||
|
||||
func (w *macosWindow) run() error {
|
||||
w.nsWindow = C.windowNew(C.int(w.options.Width), C.int(w.options.Height))
|
||||
|
|
@ -184,6 +197,9 @@ func (w *macosWindow) run() error {
|
|||
if w.options.URL != "" {
|
||||
w.navigateToURL(w.options.URL)
|
||||
}
|
||||
if w.options.EnableDevTools {
|
||||
w.enableDevTools()
|
||||
}
|
||||
C.windowShow(w.nsWindow)
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,14 +21,15 @@ type Mac struct {
|
|||
}
|
||||
|
||||
type Window struct {
|
||||
Title string
|
||||
Width, Height int
|
||||
AlwaysOnTop bool
|
||||
URL string
|
||||
DisableResize bool
|
||||
Resizable bool
|
||||
MinWidth int
|
||||
MinHeight int
|
||||
MaxWidth int
|
||||
MaxHeight int
|
||||
Title string
|
||||
Width, Height int
|
||||
AlwaysOnTop bool
|
||||
URL string
|
||||
DisableResize bool
|
||||
Resizable bool
|
||||
MinWidth int
|
||||
MinHeight int
|
||||
MaxWidth int
|
||||
MaxHeight int
|
||||
EnableDevTools bool
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue