I'm starting on a small skin editor for a program that I have just made. I started programming it in windows and everything worked fine. However, when I build it in Linux, the Menus don't show up.
Below is the code so far... Is this a bug?
SuperStrict
Import MaxGui.Drivers
Const MENU_NEW:Int=101
Const MENU_OPEN:Int=102
Const MENU_SAVE:Int=103
Const MENU_SAVE_AS:Int=104
Const MENU_CLOSE:Int=105
Const MENU_EXIT:Int=106
Const MENU_ABOUT:Int=201
'Make the window
Global win:TGadget=CreateWindow("Skin Editor",0,0,640,600,Null,WINDOW_TITLEBAR|WINDOW_MENU|WINDOW_STATUS|WINDOW_CENTER|WINDOW_ACCEPTFILES)
'Make the file menu
Global filemenu:TGadget=CreateMenu("&File",0,win)
CreateMenu("&New",MENU_NEW,filemenu)
CreateMenu("&Open",MENU_OPEN,filemenu)
CreateMenu("&Save",MENU_SAVE,filemenu)
CreateMenu("Save &As",MENU_SAVE_AS,filemenu)
CreateMenu("&Close",MENU_CLOSE,filemenu)
CreateMenu("E&xit",MENU_EXIT,filemenu)
'Make the help menu
Global helpmenu:TGadget=CreateMenu("&Help",0,win)
CreateMenu("&About",MENU_ABOUT,helpmenu)
'Now update the window to use the menus
UpdateWindowMenu(win)
Global tabber:TGadget=CreateTabber(0,0,ClientWidth(win),ClientHeight(win),win)
SetGadgetLayout(tabber,1,1,1,1)
AddGadgetItem(tabber,"General",False,-1,"General skin properties")
AddGadgetItem(tabber,"Vending",False,-1,"Options for the Vending screen")
AddGadgetItem(tabber,"Waiting",False,-1,"Options for the Waiting screen")
AddGadgetItem(tabber,"Countdown",False,-1,"Options for the Countdown")
AddGadgetItem(tabber,"Photograph",False,-1,"Options for the Photograph screen")
AddGadgetItem(tabber,"Developing",False,-1,"Options for the Developing screen")
AddGadgetItem(tabber,"Review",False,-1,"Options for the Review screen")
AddGadgetItem(tabber,"Gallery",False,-1,"OPtions for the Gallery screen")
AddGadgetItem(tabber,"Thankyou",False,-1,"Options for the Thankyou screen")
AddGadgetItem(tabber,"Preview",False,-1,"Preview this skin")
Global GENERAL:Int=0
Global VENDING:Int=1
Global WAITING:Int=2
Global COUNTDOWN:Int=3
Global PHOTOGRAPH:Int=4
Global DEVELOPING:Int=5
Global REVIEW:Int=6
Global GALLERY:Int=7
Global THANKYOU:Int=8
Global PREVIEW:Int=9
Global TabPanel:TGadget[11]
Global CurrentTabPanel:TGadget
TabPanel[GENERAL]=CreateTabPanel(tabber)
TabPanel[VENDING]=CreateTabPanel(tabber)
TabPanel[WAITING]=CreateTabPanel(tabber)
TabPanel[COUNTDOWN]=CreateTabPanel(tabber)
TabPanel[PHOTOGRAPH]=CreateTabPanel(tabber)
TabPanel[DEVELOPING]=CreateTabPanel(tabber)
TabPanel[REVIEW]=CreateTabPanel(tabber)
TabPanel[GALLERY]=CreateTabPanel(tabber)
TabPanel[THANKYOU]=CreateTabPanel(tabber)
TabPanel[PREVIEW]=CreateTabPanel(tabber)
'===========
'GENERAL TAB
'===========
Local lblPosx:Int=10
Local lblPosy:Int=400
Local lblWidth:Int=175
Local lblHeight:Int=20
Local txtPosx:Int=175
Local txtPosY:Int=400
Local txtWidth:Int=330
Local txtHeight:Int=20
Local btnPosx:Int=500
Local btnPosy:Int=400
Local btnWidth:Int=50
Local btnHeight:Int=20
Local vertOffset:Int=20
Global lblBackgroundImage:TGadget=CreateLabel("Background Image:",lblPosx,lblPosy,lblWidth,lblHeight,TabPanel[GENERAL])
Global txtBackgroundImage:TGadget=CreateTextField(txtPosX,txtPosy,txtWidth,txtHeight,TabPanel[GENERAL])
Global btnGeneralBackground:TGadget=CreateButton("Browse",btnPosX,btnPosy,btnWidth,btnHeight,TabPanel[GENERAL])
lblPosy=lblPosy+vertOffset
txtPosY=txtPosy+vertOffset
btnPosY=btnPosy+vertOffset
Global lblSavepathOriginals:TGadget=CreateLabel("Save Original Photos To:",lblPosx,lblPosy,lblWidth,lblHeight,TabPanel[GENERAL])
Global txtSavePathOriginals:TGadget=CreateTextField(txtPosX,txtPosy,txtWidth,txtHeight,TabPanel[GENERAL])
Global btnSavePathOriginals:TGadget=CreateButton("Browse",btnPosX,btnPosy,btnWidth,btnHeight,TabPanel[GENERAL])
lblPosy=lblPosy+vertOffset
txtPosY=txtPosy+vertOffset
btnPosY=btnPosy+vertOffset
Global lblSavePathPrintouts:TGadget=CreateLabel("Save Printout Photos To:",lblPosx,lblPosy,lblWidth,lblHeight,TabPanel[GENERAL])
Global txtSavePathPrintouts:TGadget=CreateTextField(txtPosX,txtPosy,txtWidth,txtHeight,TabPanel[GENERAL])
Global btnSavePathPrintouts:TGadget=CreateButton("Browse",btnPosX,btnPosy,btnWidth,btnHeight,TabPanel[GENERAL])
lblPosy=lblPosy+vertOffset
txtPosY=txtPosy+vertOffset
btnPosY=btnPosy+vertOffset
Global lblNumPics:TGadget=CreateLabel("Number of pictures:",lblPosx,lblPosy,lblWidth,lblHeight,TabPanel[GENERAL])
Global txtNumPics:TGadget=CreateTextField(txtPosX,txtPosy,txtWidth/8,txtHeight,TabPanel[GENERAL])
lblPosy=lblPosy+vertOffset
txtPosY=txtPosy+vertOffset
btnPosY=btnPosy+vertOffset
Global lblEnableVending:TGadget=CreateLabel("Enable Vending Mode:",lblPosx,lblPosy,lblWidth,lblHeight,TabPanel[GENERAL])
Global btnEnableVending:TGadget=CreateButton("",txtPosX,btnPosy,btnWidth,btnHeight,TabPanel[GENERAL],BUTTON_CHECKBOX)
'Global lblMessageBGColor:TGadget=CreateLabel()
'===========
'VENDING TAB
'===========
Global lblMessage:TGadget[11]
Global txtMessage:TGadget[11]
Global lblAudio:TGadget[11]
Global txtAudio:TGadget[11]
Global btnAudio:TGadget[11]
lblMessage[VENDING]=CreateLabel("On Screen Message:",10,300,150,20,TabPanel[VENDING])
txtMessage[VENDING]=CreateTextField(160,300,330,20,TabPanel[VENDING])
lblAudio[VENDING]=CreateLabel("Audio File:",10,320,330,20,TabPanel[VENDING])
txtAudio[VENDING]=CreateTextField(160,320,330,20,TabPanel[VENDING])
Global canPreview:TGadget=CreateCanvas(0,0,600,400,TabPanel[VENDING])
CreateTimer 30
Init()
While WaitEvent()
Select EventID()
Case EVENT_TIMERTICK
RedrawGadget canPreview
UpdateWindowMenu(win)
Case EVENT_GADGETACTION
If EventSource()=tabber
HideGadget currentTabPanel
currentTabPanel=TabPanel[EventData()]
ShowGadget currentTabPanel
'If TabPanel[EventData()]<>TabPanel[GENERAL]
'Else
' HideGadget(canPreview)
'EndIf
EndIf
RedrawGadget(canPreview)
Case EVENT_GADGETPAINT
SetGraphics CanvasGraphics(canPreview)
SetOrigin 0,0
SetLineWidth 5
Cls
Local t:Int=MilliSecs()
DrawLine 0,0,120*Cos(t),120*Sin(t)
DrawLine 0,0,80*Cos(t/60),80*Sin(t/60)
Flip
Case EVENT_WINDOWCLOSE
' Quit
End
Case EVENT_WINDOWACCEPT
'A File was dragged in! Lets do it!
Case EVENT_MENUACTION
' Menu stuff
Select EventData()
Case MENU_EXIT
End
Case MENU_ABOUT
Notify "Photobooth skin editor"
End Select
Default
'None of the above....
'RuntimeError CurrentEvent.toString()
End Select
Wend
Function Init()
CurrentTabPanel=TabPanel[GENERAL]
ShowGadget CurrentTabPanel
'HideGadget(canPreview)
End Function
Function CreateTabPanel:TGadget(thisTabber:TGadget)
Local panel:TGadget
panel=CreatePanel(0,0,ClientWidth(thisTabber),ClientHeight(thisTabber),thisTabber)
SetGadgetLayout panel,1,1,1,1
HideGadget panel
Return panel
End Function
|