Files
2025-09-29 00:52:08 +02:00

231 lines
6.9 KiB
Plaintext
Executable File

global WebBrowser
struct simpleBrowser
(
maxTemp = GetDir #temp,
browser = dotNetObject "System.Windows.Forms.WebBrowser",
form = dotNetObject "maxCustomControls.maxForm",
URLtextBox = dotNetObject "System.Windows.Forms.TextBox",
backButton,
forwardButton,
searchTextBox,
--url = "http://download.autodesk.com/us/3dsmax/2012help/index.html",
url = "http://docs.autodesk.com/f3DSMAX/14/ENU/MAXScript%20Help%202012/",
--config
browserFavourites = #( "http://download.autodesk.com/us/3dsmax/2012help/index.html",
"http://docs.autodesk.com/3DSMAX/14/ENU/MAXScript%20Help%202012/",
"https://devstar.rockstargames.com/wiki/index.php/Main_Page"),
fn URLChanged s e =
(
if e.KeyChar == "\r" then
(
uriCheck = dotnetclass "System.Net.WebRequest"
try
(
valid = uriCheck.create s.text
)
catch()
if valid != undefined then
(
WebBrowser.url = s.text
WebBrowser.browser.url = dotNetObject "System.Uri" WebBrowser.url
)
)
),
fn addFavourite s e =
(
--save the curent url to favourites
),
fn recallFavourite s e =
(
--get the combobox selection index
idx = s.SelectedIndex
WebBrowser.url = s.Items.Item[idx]
WebBrowser.URLtextBox.text = WebBrowser.url
WebBrowser.browser.url = dotNetObject "System.Uri" WebBrowser.url
),
fn browserGoBack s e =
(
WebBrowser.browser.GoBack()
),
fn browserGoForward s e =
(
WebBrowser.browser.GoForward()
),
fn searchEntered s e =
(
if e.KeyChar == "\r" then
(
query = s.text
WebBrowser.url = "http://www.google.co.uk/search?q="+s.text
WebBrowser.browser.url = dotNetObject "System.Uri" WebBrowser.url
)
),
--WebBrowser shutdown event
fn formShutDown s e =
(
print "WebBrowser:shutdown"
gameLauncher = undefined
gc light:true
),
fn createUI =
(
--Set the parent of the form to be Max.
--Get the max handle pointer.
maxHandlePointer=(Windows.GetMAXHWND())
--Convert the HWND handle of Max to a dotNet system pointer
sysPointer = DotNetObject "System.IntPtr" maxHandlePointer
--Create a dotNet wrapper containing the maxHWND
maxHwnd = DotNetObject "MaxCustomControls.Win32HandleWrapper" sysPointer
dock = dotNetClass "System.Windows.Forms.DockStyle"
columnStyle1 = dotNetObject "System.Windows.Forms.ColumnStyle"
columnStyle2 = dotNetObject "System.Windows.Forms.ColumnStyle"
columnStyle3 = dotNetObject "System.Windows.Forms.ColumnStyle"
columnStyle4 = dotNetObject "System.Windows.Forms.ColumnStyle"
columnStyle5 = dotNetObject "System.Windows.Forms.ColumnStyle"
rowStyle1 = dotNetObject "System.Windows.Forms.RowStyle"
rowStyle2 = dotNetObject "System.Windows.Forms.RowStyle"
sizeType = dotNetClass "System.Windows.Forms.SizeType"
--size = dotNetClass "System.Drawing.Size"
--location = dotNetClass "System.Drawing.Point"
--form = dotNetObject "System.Windows.Forms.Form"
--form = dotNetObject "maxCustomControls.maxForm"
form.size = dotNetObject "System.Drawing.Size" 1200 1000
panel = dotNetObject "System.Windows.Forms.Panel"
--panel.suspendLayout()
tableLayoutPanel = dotNetObject "System.Windows.Forms.TableLayoutPanel"
--size = tableLayoutPanel.size
--size.width = 600
--size.height = 66
tableLayoutPanel.size = dotNetObject "System.Drawing.Size" 600 66
--URLtextBox = dotNetObject "System.Windows.Forms.TextBox"
URLtextBox.text = url
URLtextBox.dock = dock.Fill
URLtextBox.size = dotNetObject "System.Drawing.Size" 20 400
URLtextBox.location = dotNetObject "System.Drawing.Point" 3 3
URLtextBox.tabindex = 0
dotNet.addEventHandler URLtextBox "KeyPress" URLChanged
addFavouriteButton = dotNetObject "System.Windows.Forms.Button"
addFavouriteButton.text = "+"
dotNet.addEventHandler addFavouriteButton "Click" addFavourite
backButton = dotNetObject "System.Windows.Forms.Button"
backButton.text = "<"
dotNet.addEventHandler backButton "Click" browserGoBack
forwardButton = dotNetObject "System.Windows.Forms.Button"
forwardButton.text = ">"
dotNet.addEventHandler forwardButton "Click" browserGoForward
favouritesComboBox = dotNetObject "System.Windows.Forms.ComboBox"
favouritesComboBox.size = dotNetObject "System.Drawing.Size" 400 20
--Add favourites
favouritesComboBox.Items.AddRange browserFavourites
dotNet.addEventHandler favouritesComboBox "SelectedIndexChanged" recallFavourite
searchTextBox = dotNetObject "System.Windows.Forms.TextBox"
searchTextBox.text = "Search"
dotNet.addEventHandler searchTextBox "KeyPress" searchEntered
--browser = dotNetObject "System.Windows.Forms.WebBrowser"
browser.dock = dock.Fill
browser.url = dotNetObject "System.Uri" url
--browser.location = dotNetObject "System.Drawing.Point" 80 180
browser.autoSize = true
--tableLayoutPanel1
tableLayoutPanel.ColumnCount = 5
--sizeType.value__ = 70
columnStyle1.sizeType = sizeType.Percent
columnStyle1.width = 70
tableLayoutPanel.ColumnStyles.Add(columnStyle1)
columnStyle2.sizeType = sizeType.Absolute
columnStyle2.width = 36
tableLayoutPanel.ColumnStyles.Add(columnStyle2) --36
columnStyle3.sizeType = sizeType.Absolute
columnStyle3.width = 36
tableLayoutPanel.ColumnStyles.Add(columnStyle3) --36
columnStyle4.sizeType = sizeType.Absolute
columnStyle4.width = 36
tableLayoutPanel.ColumnStyles.Add(columnStyle4) --36
columnStyle5.sizeType = sizeType.Percent
columnStyle5.width = 30
tableLayoutPanel.ColumnStyles.Add(columnStyle5) --30
tableLayoutPanel.Controls.Add URLtextBox 0 0
tableLayoutPanel.Controls.Add addFavouriteButton 1 0
tableLayoutPanel.Controls.Add backButton 2 0
tableLayoutPanel.Controls.Add favouritesComboBox 0 1
tableLayoutPanel.Controls.Add forwardButton 3 0
tableLayoutPanel.Controls.Add searchTextBox 4 0
--tableLayoutPanel.Location = new System.Drawing.Point(0, 0)
--tableLayoutPanel.Name = "tableLayoutPanel1"
tableLayoutPanel.RowCount = 2
rowStyle1.sizeType = sizeType.Percent
rowStyle1.height = 50
tableLayoutPanel.RowStyles.Add(rowStyle1)
rowStyle2.sizeType = sizeType.Percent
rowStyle2.height = 50
tableLayoutPanel.RowStyles.Add(rowStyle2)
--tableLayoutPanel.Size = new System.Drawing.Size(682, 66)
tableLayoutPanel.TabIndex = 0
tableLayoutPanel.dock = dock.Top
tableLayoutPanel.resumelayout false
--tableLayoutPanel.controls.add(browser)
--panel1
panel.Controls.Add(browser)
panel.Controls.Add(tableLayoutPanel)
panel.Dock = dock.Fill
panel.TabIndex = 0
panel.resumeLayout()
--form.Opacity=0.01
form.controls.add(panel)
form.resumeLayout false
form.show(maxHwnd)
dotNet.addEventHandler form "FormClosed" formShutDown
)
)
if WebBrowser != undefined then
(
try
(
WebBrowser.form.close()
)
catch()
)
WebBrowser = simpleBrowser()
WebBrowser.createUI()