PureBoard
https://www.purebasic.fr/german/

SpiderBasic Library - Liste neuer Funktionen
https://www.purebasic.fr/german/viewtopic.php?f=33&t=31117
Seite 8 von 9

Autor:  RSBasic [ 23.10.2018 09:36 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

Mit dieser Funktion kann man Gadgets in ein anderes Fenster verschieben:
Code:
EnableExplicit

Procedure MoveGadget(gadget, target_windowid)
  ! var GadgetElement = $(spider_GadgetID(v_gadget).div);
  ! GadgetElement.appendTo(v_target_windowid.content);
 
EndProcedure

;================================================== Beispielcode ==================================================

Procedure GadgetEvent()
  Select EventGadget()
    Case 2
      MoveGadget(1, WindowID(1))
    Case 3
      MoveGadget(1, WindowID(0))
  EndSelect
 
EndProcedure

If OpenWindow(0, 100, 100, 300, 200, "Window 1")
  ButtonGadget(1, 10, 10, 100, 20, "Button 007", 0)
  ButtonGadget(2, 120, 10, 150, 20, "Move button 007 >>", 0)
  ButtonGadget(3, 120, 40, 150, 20, "<< Move button 007", 0)
 
  BindEvent(#PB_Event_Gadget, @GadgetEvent())
 
EndIf

If OpenWindow(1, 500, 100, 300, 200, "Window 2")
 
EndIf

Autor:  RSBasic [ 23.10.2018 10:27 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

Browser-Name ermitteln:
Code:
EnableExplicit

Procedure.s GetBrowserName()
  ! return platform.name;
 
EndProcedure

;================================================== Beispielcode ==================================================

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_ScreenCentered)
  Debug GetBrowserName()
 
EndIf

Autor:  RSBasic [ 23.10.2018 10:28 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

Browser-Version ermitteln:
Code:
EnableExplicit

Procedure.s GetBrowserVersion()
  ! return platform.version;
 
EndProcedure

;================================================== Beispielcode ==================================================

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_ScreenCentered)
  Debug GetBrowserVersion()
 
EndIf

Autor:  RSBasic [ 23.10.2018 10:28 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

Browser-Engine ermitteln:
Code:
EnableExplicit

Procedure.s GetBrowserEngine()
  ! return platform.layout;
 
EndProcedure

;================================================== Beispielcode ==================================================

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_ScreenCentered)
  Debug GetBrowserEngine()
 
EndIf

Autor:  RSBasic [ 23.10.2018 11:17 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

Mit dieser Funktion kann man eine interne oder externe Seite in einem Popup-Fenster aufrufen:
Code:
EnableExplicit

Procedure OpenDialog(url.s, x, y, width, height, showtoolbar, showscrollbars)
  Protected specs.s
 
  If x <> #PB_Ignore
    specs + "left=" + x + ","
  EndIf
  If y <> #PB_Ignore
    specs + "top=" + y + ","
  EndIf
  specs + "width=" + width + ",height=" + height + ",toolbar=" + showtoolbar + ",scrollbars=" + showscrollbars
 
  ! window.open(v_url, "", v_specs);
 
EndProcedure

Procedure.s GetSiteURL()
  ! return window.location;
 
EndProcedure

;================================================== Beispielcode ==================================================

Procedure GadgetEvent()
  Select EventGadget()
    Case 1
      ;OpenDialog("http://www.google.de", #PB_Ignore, #PB_Ignore, 500, 400, 0, 1)
      OpenDialog(GetSiteURL(), #PB_Ignore, #PB_Ignore, 500, 400, 0, 1)
  EndSelect
 
EndProcedure

If OpenWindow(0, 0, 0, 400, 300, "Window", #PB_Window_ScreenCentered)
  ButtonGadget(1, 10, 10, 200, 20, "Open site in dialog", 0)
 
  BindEvent(#PB_Event_Gadget, @GadgetEvent())
 
EndIf

Autor:  RSBasic [ 25.10.2018 09:32 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

Die Möglichkeit, einen Placeholder-Text hinzuzufügen, besteht nur beim StringGadget, aber nicht beim EditorGadget und andere Input-Gadgets. Jetzt es ist auch beim EditorGadget, SpinGadget, DateGadget und ComboBoxGadget möglich. Außerdem kann man den Placeholder-Text auch jederzeit wieder ändern:
Code:
EnableExplicit

Procedure SetGadgetPlaceHolder(gadget, text.s)
  ! var GadgetElement = $(spider_GadgetID(v_gadget).div);
 
  Select GadgetType(gadget)
    Case #PB_GadgetType_String, #PB_GadgetType_Spin, #PB_GadgetType_Date, #PB_GadgetType_ComboBox
      ! GadgetElement.find("input").attr("placeholder", v_text);
    Case #PB_GadgetType_Editor
      ! GadgetElement.find("textarea").attr("placeholder", v_text);
  EndSelect
 
EndProcedure

;================================================== Beispielcode ==================================================

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_ScreenCentered)
  StringGadget(1, 10, 10, 200, 20, "", 0)
  EditorGadget(2, 10, 40, 200, 200, 0)
  SpinGadget(3, 10, 250, 90, 20, 0, 100, 0)
  ComboBoxGadget(4, 110, 250, 100, 20, #PB_ComboBox_Editable)
 
  SetGadgetPlaceHolder(1, "Hello")
  SetGadgetPlaceHolder(2, "Hola")
  SetGadgetPlaceHolder(3, "Hallo")
  SetGadgetPlaceHolder(4, "Hallo")
 
EndIf

Autor:  dige [ 06.02.2019 15:27 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

Danke RSBasic, für deine Erweiterungen. Habe ich schon öfters gebrauchen können.

Da ich eben noch für ein TextGadget (), das ich zur Anzeige von Html verwende, den Scrollbalken aktivieren musste,
hier eine Adaption:

Code:
Procedure Gadget_Enable_AutoScroll (gadget)
  Protected styles.s
  Protected id.s
 
  ;Falls nicht existiert, dann <style type="text/css" id="SBCustomStyles"></style> im Head erstellen, ohne Inline-Styles verwenden zu müssen
  ! if (!document.getElementById('SBCustomStyles')) {
  !   var StyleElement = document.createElement('style');
  !   StyleElement.type = 'text/css';
  !   StyleElement.id = 'SBCustomStyles';
  !   var HeadElement = document.getElementsByTagName('head')[0];
  !   HeadElement.appendChild(StyleElement);
  ! }
 
  ;Falls nicht existiert, dann eine ID im Hauptelement erstellen, um später per CSS besser darauf zugreifen zu können
  ! var GadgetElement = $(spider_GadgetID(v_gadget).div);
  ! if (GadgetElement.attr("id")) {
  !   v_id = GadgetElement.attr("id");
  ! } else {
  !   GadgetElement.attr("id", "SB_Gadget_" + v_gadget);
  !   v_id = GadgetElement.attr("id");
  ! }
 
  styles = "#" + id + " { overflow: auto; }"
 
  ;Styles hinzufügen
  ! document.getElementById("SBCustomStyles").appendChild(document.createTextNode( v_styles ));
 
EndProcedure

Autor:  NicTheQuick [ 06.02.2019 15:55 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

RSBasic hat geschrieben:
@NicTheQuick
Bekomme ich Geld für die Werbung? :D

Gerade erst gesehen, weil ich normalerweise nichts zu Spiderbasic lese. :lol:
Ich kann dir leider nichts anbieten. :wink:

Autor:  stevie1401 [ 07.02.2019 10:28 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

dige, ich habe deine Procedure eben getestst. Da scrollt aber nichts automatisch runter.
Oder habe ich da was falsch verstanden?
Wie muss die Procedure eingesetzt werden?


Nachdem ich einem Textgadget einen Text hinzugefügt gabe, muss ich zudem:
Code:
 !$(v_chatid.div).animate({scrollTop: $(v_chatid.div).prop("scrollHeight")}, 0);


machen, sonst wird nicht gescrollt.

Autor:  dige [ 07.02.2019 10:52 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

@Stevie1401: es werden nur die Scrollbalken aktiviert, damit der Nutzer scrollen kann. Im Prinzip wird nur der Style "overflow: auto;" hinzugefügt.

Seite 8 von 9 Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/