Can you put a Scrollarea gadget inside a panel gadget?

Just starting out? Need help? Post your questions and find answers here.
MPrimal
User
User
Posts: 15
Joined: Fri Nov 11, 2005 4:54 pm
Location: England

Can you put a Scrollarea gadget inside a panel gadget?

Post by MPrimal »

I need to place a Scrollarea gadget inside a panel gadget so I can display some pictures in it (the amount of pictures will vary hence the use of a scroll area gadget)

As soon as I put it in and run the code all the other gadgets in the window totaly fail to display. Well I think it acutally is all being drawing INSIDE the scrollareagadget for some reason.

Below is the code that creates the window in question. It was made using PurevisionXP (in which I could never get the ScrollAreaGadget placed inside the panel gadget).

Can someone tell me what is wrong or if I am trying to do something that is not alowed in PureBasic.

Thanks.

Andy

Code: Select all

Procedure.l Window_TFDB_Main()
  Window_TFDB_Main=OpenWindow(#PB_Any,-155,74,1007,728,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered |#PB_Window_WindowCentered|#PB_Window_Invisible,"TFDB)
  If Window_TFDB_Main
    MenuBar_TFDB_Main=CreateMenu(#PB_Any,WindowID(Window_TFDB_Main))
      MenuTitle("File")
      MenuItem(#MenuBar_TFDB_Main_New,"New Database")
      MenuBar()
      MenuItem(#MenuBar_TFDB_Main_Save,"Save Database")
      MenuBar()
      MenuItem(#MenuBar_TFDB_Main_Exit,"Exit")
      MenuTitle("Project")
      MenuItem(#MenuBar_TFDB_Main_NewEntry,"Add New Entry")
      MenuBar()
      MenuItem(#MenuBar_TFDB_Main_DelEntry,"Delete Entry")
      MenuBar()
      MenuItem(#MenuBar_TFDB_Main_NextEntry,"Next Entry")
      MenuItem(#MenuBar_TFDB_Main_PreEntry,"Previous Entry")
      MenuBar()
      MenuItem(#MenuBar_TFDB_Main_EditEntry,"Edit Current Entry")
      MenuTitle("Options")
      MenuItem(#MenuBar_TFDB_Main_OptSet,"Settings")
      MenuBar()
      MenuItem(#MenuBar_TFDB_Main_OptUpd,"Check For Updates")
      MenuTitle("Help")
      MenuItem(#MenuBar_TFDB_Main_Help,"Help")
      MenuBar()
      MenuItem(#MenuBar_TFDB_Main_About,"About")
      
    If CreateGadgetList(WindowID(Window_TFDB_Main))
      
      Gadget_TFDB_Main_Panel2=PanelGadget(#PB_Any,10,45,230,660)
      
      AddGadgetItem(Gadget_TFDB_Main_Panel2,-1,"Toy")
      Gadget_TFDB_Main_ToyAltMode=ImageGadget(#PB_Any,0,310,220,300,0)
      Gadget_TFDB_Main_ToyRobot=ImageGadget(#PB_Any,0,0,220,300,0)
      AddGadgetItem(Gadget_TFDB_Main_Panel2,-1,"Accessories")
      Gadget_TFDB_AccWindow=ScrollAreaGadget(#PB_Any,5,5,220,620,220,1000,5)
      Gadget_TFDB_Main_Image92=ImageGadget(#PB_Any,0,0,220,600,0)
      AddGadgetItem(Gadget_TFDB_Main_Panel2,-1,"Misc")
      Gadget_TFDB_Main_Misc1=ImageGadget(#PB_Any,0,310,220,300,0)
      Gadget_TFDB_Main_Misc2=ImageGadget(#PB_Any,0,0,220,300,0)
      CloseGadgetList()
      
      Gadget_TFDB_Main_Text_TFList=TextGadget(#PB_Any,815,15,145,25,"Transformer List",#PB_Text_Center)
        SetGadgetFont(Gadget_TFDB_Main_Text_TFList,UseFont(LoadFont(#PB_Any,"Comic Sans MS",12,260)))
      Gadget_TFDB_Main_ToyLIst=ListIconGadget(#PB_Any,795,50,195,655,"Toy",130,#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
        AddGadgetColumn(Gadget_TFDB_Main_ToyLIst,1,"Series",60)
      Gadget_TFDB_Main_Text_Images=TextGadget(#PB_Any,45,10,145,25,"Images",#PB_Text_Center)
        SetGadgetFont(Gadget_TFDB_Main_Text_Images,UseFont(LoadFont(#PB_Any,"Comic Sans MS",12,260)))
      Gadget_TFDB_Main_Text_TFInfo=TextGadget(#PB_Any,445,10,145,25,"Toy Information",#PB_Text_Center)
        SetGadgetFont(Gadget_TFDB_Main_Text_TFInfo,UseFont(LoadFont(#PB_Any,"Comic Sans MS",12,260)))
      Gadget_TFDB_Main_SA_EntInfo=ScrollAreaGadget(#PB_Any,245,470,540,180,400,300,5)
      CloseGadgetList()
      Gadget_TFDB_Main_Text_EntInfo=TextGadget(#PB_Any,445,450,155,15,"Entry Information",#PB_Text_Center)
        SetGadgetFont(Gadget_TFDB_Main_Text_EntInfo,UseFont(LoadFont(#PB_Any,"Comic Sans MS",8,256)))
      Gadget_TFDB_Main_Text_AddInfo_19=TextGadget(#PB_Any,450,235,155,15,"Additional Information",#PB_Text_Center)
        SetGadgetFont(Gadget_TFDB_Main_Text_AddInfo_19,UseFont(LoadFont(#PB_Any,"Comic Sans MS",8,256)))
      Gadget_TFDB_Main_SA_AddInfo=ScrollAreaGadget(#PB_Any,240,255,540,180,400,300,5)
      PVGadgets_ProgressBar(#Gadget_TFDB_Main_xProgressBar01,#Image_TFDB_Main_xProgressBar01,10,0,200,20,0,1,16777215,0,0,#PB_Image_Border)
      PVGadgets_ProgressBar(#Gadget_TFDB_Main_xProgressBar02,#Image_TFDB_Main_xProgressBar02,10,30,200,20,0,1,16777215,0,0,#PB_Image_Border)
      PVGadgets_ProgressBar(#Gadget_TFDB_Main_xProgressBar03,#Image_TFDB_Main_xProgressBar03,10,60,200,20,0,1,16777215,0,0,#PB_Image_Border)
      PVGadgets_ProgressBar(#Gadget_TFDB_Main_xProgressBar04,#Image_TFDB_Main_xProgressBar04,10,90,200,20,0,1,16777215,0,0,#PB_Image_Border)
      PVGadgets_ProgressBar(#Gadget_TFDB_Main_xProgressBar05,#Image_TFDB_Main_xProgressBar05,10,120,200,20,0,1,16777215,0,0,#PB_Image_Border)
      PVGadgets_ProgressBar(#Gadget_TFDB_Main_xProgressBar06,#Image_TFDB_Main_xProgressBar06,10,150,200,20,0,1,16777215,0,0,#PB_Image_Border)
      PVGadgets_ProgressBar(#Gadget_TFDB_Main_xProgressBar07,#Image_TFDB_Main_xProgressBar07,10,180,200,20,0,1,16777215,0,0,#PB_Image_Border)
      PVGadgets_ProgressBar(#Gadget_TFDB_Main_xProgressBar08,#Image_TFDB_Main_xProgressBar08,10,210,200,20,0,1,16777215,0,0,#PB_Image_Border)
      Gadget_TFDB_Main_PBText_Strength=TextGadget(#PB_Any,230,5,150,15,"Strength:")
        SetGadgetFont(Gadget_TFDB_Main_PBText_Strength,UseFont(LoadFont(#PB_Any,"Arial",8,256)))
      Gadget_TFDB_Main_PBText_Intelligence=TextGadget(#PB_Any,230,35,150,15,"Intelligence:")
        SetGadgetFont(Gadget_TFDB_Main_PBText_Intelligence,UseFont(LoadFont(#PB_Any,"Arial",8,256)))
      Gadget_TFDB_Main_PBText_Speed=TextGadget(#PB_Any,230,65,150,15,"Speed:")
        SetGadgetFont(Gadget_TFDB_Main_PBText_Speed,UseFont(LoadFont(#PB_Any,"Arial",8,256)))
      Gadget_TFDB_Main_PBText_Endurance=TextGadget(#PB_Any,230,95,150,15,"Endurance:")
        SetGadgetFont(Gadget_TFDB_Main_PBText_Endurance,UseFont(LoadFont(#PB_Any,"Arial",8,256)))
      Gadget_TFDB_Main_PBText_Rank=TextGadget(#PB_Any,230,125,150,15,"Rank:")
        SetGadgetFont(Gadget_TFDB_Main_PBText_Rank,UseFont(LoadFont(#PB_Any,"Arial",8,256)))
      Gadget_TFDB_Main_PBText_Courage=TextGadget(#PB_Any,230,155,150,15,"Courage:")
        SetGadgetFont(Gadget_TFDB_Main_PBText_Courage,UseFont(LoadFont(#PB_Any,"Arial",8,256)))
      Gadget_TFDB_Main_PBText_Firepower=TextGadget(#PB_Any,230,185,150,15,"Firepower:")
        SetGadgetFont(Gadget_TFDB_Main_PBText_Firepower,UseFont(LoadFont(#PB_Any,"Arial",8,256)))
      Gadget_TFDB_Main_PBText_Skill=TextGadget(#PB_Any,230,215,150,15,"Skill:")
        SetGadgetFont(Gadget_TFDB_Main_PBText_Skill,UseFont(LoadFont(#PB_Any,"Arial",8,256)))
      CloseGadgetList()
      Gadget_TFDB_Main_SA_ToyInfo=ScrollAreaGadget(#PB_Any,245,45,540,180,400,300,5)
      Gadget_TFDB_Main_TX_ToyName=TextGadget(#PB_Any,5,5,60,15,"Name: ")
      Gadget_TFDB_Main_TC_Group=TextGadget(#PB_Any,5,25,60,15,"Group:")
      Gadget_TFDB_Main_TC_SubGroup=TextGadget(#PB_Any,5,45,60,15,"Sub-Group:")
      Gadget_TFDB_Main_TX_Function=TextGadget(#PB_Any,5,65,60,15,"Function:")
      Gadget_TFDB_Main_TX_Motto1=TextGadget(#PB_Any,5,85,60,15,"Motto1:")
      Gadget_TFDB_Main_TX_Motto2=TextGadget(#PB_Any,5,105,60,15,"Motto2:")
      Gadget_TFDB_Main_TX_Motto3=TextGadget(#PB_Any,5,125,60,15,"Motto3:")
      Gadget_TFDB_Main_TX_Motto4=TextGadget(#PB_Any,5,145,60,15,"Motto4:")
      Gadget_TFDB_Main_TX_Motto5=TextGadget(#PB_Any,5,165,60,15,"Motto5:")
      Gadget_TFDB_Main_TC_Variant1=TextGadget(#PB_Any,5,185,60,15,"Variant Info 1:")
      Gadget_TFDB_Main_TX_Variant2=TextGadget(#PB_Any,5,205,60,15,"Varitant Info 2:")
      CloseGadgetList()
      Gadget_TFDB_Main_But_PrevEnt=ButtonGadget(#PB_Any,325,665,60,20,"<<")
      Gadget_TFDB_Main_But_NewEnt=ButtonGadget(#PB_Any,405,665,60,20,"New")
      Gadget_TFDB_Main_But_EditEnt=ButtonGadget(#PB_Any,485,665,60,20,"Edit")
      Gadget_TFDB_Main_But_DelEnt=ButtonGadget(#PB_Any,565,665,60,20,"Delete")
      Gadget_TFDB_Main_But_NextEnt=ButtonGadget(#PB_Any,645,665,60,20,">>")
      Gadget_TFDB_Main_But_LastEnt=ButtonGadget(#PB_Any,720,665,60,20,">> |")
      Gadget_TFDB_Main_But_FrstEnt=ButtonGadget(#PB_Any,255,665,60,20,"| <<")
      HideWindow(Window_TFDB_Main,0)
      ProcedureReturn WindowID()
    EndIf
  EndIf
EndProcedure
Real Power Comes From Sharing It With Those Who Think They Have It All.
TerryHough
Enthusiast
Enthusiast
Posts: 781
Joined: Fri Apr 25, 2003 6:51 pm
Location: NC, USA
Contact:

Post by TerryHough »

First, you are positioning some items on the panel outside the viewable space of the panel.

Second, when you add a panel, you are creating a new gadget list. The
same thing occurs when you create a ScrollAreaGadget. So you must
place all of your gadgets in the correct list.

Code: Select all

Create the Panel Gadget
  Add First Panel (opens a new gadget list)
     Add gadgets on the panel 
     Add a scroll area gadget (opens a new gadget list)
        Add gadgets on the scroll area
        Close Scroll Area Gadget list
     Add more gadgets on the panel 
     Close First Panel List
  
  Add Second Panel (opens a new gadget list)
     Add gadgets on the panel 
     Add a scroll area gadget (opens a new gadget list)
        Add gadgets on the scroll area
        Close Scroll Area Gadget list
     Add more gadgets on the panel 
     Close Second Panel Gadget List

  Add Third Panel (opens a new gadget list)
     Add gadgets on the panel 
     Add a scroll area gadget (opens a new gadget list)
        Add gadgets on the scroll area
        Close Scroll Area Gadget list
     Add more gadgets on the panel 
     Close Third Panel Gadget List
MPrimal
User
User
Posts: 15
Joined: Fri Nov 11, 2005 4:54 pm
Location: England

Post by MPrimal »

Got it. Thought it would be something stupid I missed :lol:

Thanks.

Andy
Real Power Comes From Sharing It With Those Who Think They Have It All.
Jan2004
Enthusiast
Enthusiast
Posts: 163
Joined: Fri Jan 07, 2005 7:17 pm

Post by Jan2004 »

MPrimel: Could you put "improved" source code in this topic ?
Thanks.
MPrimal
User
User
Posts: 15
Joined: Fri Nov 11, 2005 4:54 pm
Location: England

Post by MPrimal »

Jan2004 wrote:MPrimel: Could you put "improved" source code in this topic ?
Thanks.
The only bit I altered was this:

Code: Select all

 AddGadgetItem(Gadget_TFDB_Main_Panel2,-1,"Toy") 
      Gadget_TFDB_Main_ToyAltMode=ImageGadget(#PB_Any,0,310,220,300,0) 
      Gadget_TFDB_Main_ToyRobot=ImageGadget(#PB_Any,0,0,220,300,0) 
      AddGadgetItem(Gadget_TFDB_Main_Panel2,-1,"Accessories") 
      Gadget_TFDB_AccWindow=ScrollAreaGadget(#PB_Any,5,5,220,620,220,1000,5) 
      Gadget_TFDB_Main_Image92=ImageGadget(#PB_Any,0,0,220,600,0) 
      Closegadgetlist()
      AddGadgetItem(Gadget_TFDB_Main_Panel2,-1,"Misc") 
      Gadget_TFDB_Main_Misc1=ImageGadget(#PB_Any,0,310,220,300,0) 
      Gadget_TFDB_Main_Misc2=ImageGadget(#PB_Any,0,0,220,300,0) 
      CloseGadgetList() 
I added a CloseGadgetList() command after I setup the ScrollAreaGadget (with what I wanted in it) and that cured the problem I had.

Andy
Real Power Comes From Sharing It With Those Who Think They Have It All.
Post Reply