January 19, 2021, 09:25:02 PM
Welcome,
Guest
. Please
login
or
register
.
Did you miss your
activation email
?
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
Home
Forum
Help
Search
Gallery
Login
Register
SyntaxBomb - Indie Coders
»
Languages & Coding
»
Blitz Code Archives
»
BlitzPlus Gui
»
[bmx] Path Edit Gadget by JoshK [ 1+ years ago ]
« previous
next »
Print
Pages: [
1
]
Go Down
Author
Topic: [bmx] Path Edit Gadget by JoshK [ 1+ years ago ] (Read 1427 times)
BlitzBot
Jr. Member
Posts: 1
[bmx] Path Edit Gadget by JoshK [ 1+ years ago ]
«
on:
June 29, 2017, 12:28:42 AM »
Title :
Path Edit Gadget
Author :
JoshK
Posted :
1+ years ago
Description :
Gadget for choosing file and folder paths
Code :
Code: BlitzMax
SuperStrict
Import
MaxGui.Drivers
Import
brl.retro
Local
window:TGadget
window=CreateWindow
(
"pathedit Example"
,
40
,
40
,
320
,
240
)
Local
label:TGadget
Local
pathedit:TPathEdit
Local
x:
Int
=
4
,y:
Int
=
4
label=CreateLabel
(
"Pick File:"
,x,y,
60
,
18
,window
)
SetGadgetLayout label,
1
,
0
,
1
,
0
pathedit=CreatePathEdit
(
x+
60
,y,
200
,
20
,window,PATHEDIT_FILE|PATHEDIT_STRIPDIR
)
SetGadgetLayout pathedit,
1
,
1
,
1
,
0
While
True
WaitEvent
Print CurrentEvent.ToString
(
)
Select
EventID
(
)
Case
EVENT_WINDOWCLOSE
End
End
Select
Wend
'-------------------------------------------------------------------
Const
PATHEDIT_FILE:
Int
=
0
Const
PATHEDIT_DIR:
Int
=
1
Const
PATHEDIT_STRIPDIR:
Int
=
2
Type
TPathEdit
Extends
TProxygadget
Field
panel:TGadget
Field
textfield:TGadget
Field
button:TGadget
Field
style:
Int
Field
extensions:
String
=
"All Files:*"
Method
Cleanup
(
)
RemoveHook
(
EmitEventHook,EventHook,
Self
)
Super
.cleanup
(
)
EndMethod
Function
Create:TPathEdit
(
x:
Int
,y:
Int
,width:
Int
,height:
Int
,group:TGadget,style:
Int
=
0
)
Local
pathedit:TPathEdit
pathedit=
New
TPathEdit
pathedit.panel=CreatePanel
(
x,y,width,height,group
)
pathedit.textfield=CreateTextField
(
0
,
0
,pathedit.panel.ClientWidth
(
)
-pathedit.panel.ClientHeight
(
)
,pathedit.panel.ClientHeight
(
)
,pathedit.panel
)
SetGadgetLayout pathedit.textfield,
1
,
1
,
1
,
1
pathedit.style=style
pathedit.button=CreateButton
(
"..."
,pathedit.panel.ClientWidth
(
)
-pathedit.panel.ClientHeight
(
)
,
0
,pathedit.panel.ClientHeight
(
)
,pathedit.panel.ClientHeight
(
)
,pathedit.panel
)
SetGadgetLayout pathedit.button,
0
,
1
,
1
,
1
pathedit.setproxy
(
pathedit.panel
)
AddHook
(
EmitEventHook,EventHook,pathedit
)
Return
pathedit
EndFunction
Function
EventHook:
Object
(
id:
Int
,data:
Object
,context:
Object
)
Local
event:TEvent
Local
pathedit:TPathEdit
event=TEvent
(
data
)
If
event
pathedit=TPathEdit
(
context
)
If
pathedit
Select
event.id
Case
EVENT_GADGETLOSTFOCUS
If
event.source=pathedit.textfield
EmitEvent CreateEvent
(
EVENT_GADGETACTION,pathedit,
0
,
0
,
0
,
0
,GadgetText
(
pathedit.textfield
)
)
Return
Null
EndIf
Case
EVENT_GADGETACTION
Select
event.source
Case
pathedit.textfield
Return
Null
Case
pathedit.button
Local
file$
If
PATHEDIT_DIR & pathedit.style
file=RequestDir
(
"Select Folder"
,GadgetText
(
pathedit.textfield
)
)
Else
file=RequestFile
(
"Open File"
,pathedit.extensions,
0
,GadgetText
(
pathedit.textfield
)
)
If
PATHEDIT_STRIPDIR & pathedit.style
file=StripDir
(
file
)
EndIf
EndIf
If
file
SetGadgetText pathedit.textfield,file
EmitEvent CreateEvent
(
EVENT_GADGETACTION,pathedit,
0
,
0
,
0
,
0
,file
)
EndIf
Return
Null
EndSelect
EndSelect
EndIf
EndIf
Return
data
EndFunction
EndType
Rem
bbdoc:
EndRem
Function
CreatePathEdit:TPathEdit
(
x:
Int
,y:
Int
,width:
Int
,height:
Int
,group:TGadget,flags:
Int
=
0
)
Return
Tpathedit.Create
(
x,y,width,height,group,flags
)
EndFunction
Rem
bbdoc:
EndRem
Function
SetPathEditExtensions
(
pathedit:TPathEdit,extensions:
String
)
pathedit.extensions=extensions
EndFunction
Comments :
none...
Logged
Print
Pages: [
1
]
Go Up
« previous
next »
SyntaxBomb - Indie Coders
»
Languages & Coding
»
Blitz Code Archives
»
BlitzPlus Gui
»
[bmx] Path Edit Gadget by JoshK [ 1+ years ago ]
SimplePortal 2.3.6 © 2008-2014, SimplePortal