231 lines
6.9 KiB
Plaintext
Executable File
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() |