Aktuelle Zeit: 15.08.2018 14:47

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Forumsregeln


Die Forumsregeln lesen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: [Linux] PB 5.61 (x64) - EventType bei ImageGadget
BeitragVerfasst: 17.01.2018 07:33 
Offline
Benutzeravatar

Registriert: 24.08.2011 18:00
Wohnort: Ruhrpott
Hallo zusammen,

der beigefügte Code funktioniert nicht unter den Standarteinstellungen des Compilers. Es werden keine EventType() Ergebnisse empfangen. Wenn ich als Lib-Subsystem jedoch "gtk2" wähle, dann funktioniert es.

Code:
EnableExplicit

Macro DbgEvtType
  If EvtTyp = #PB_EventType_LeftClick
    Debug "Gadget #" + EvtGdg + " received LEFT click"
  ElseIf EvtTyp = #PB_EventType_RightClick
    Debug "Gadget #" + EvtGdg + " received RIGHT click"
  ElseIf EvtTyp = #PB_EventType_Focus
    Debug "Gadget #" + EvtGdg + " gets focus"
  EndIf
EndMacro

If OpenWindow(0, 0, 0, 400, 300, "EventType Test", #PB_Window_SystemMenu)
 
  If LoadImage(0, #PB_Compiler_Home + "examples/sources/Data/PureBasic.bmp")
   
    ImageGadget(1, 10, 10, 180, 40, ImageID(0))
   
    If ContainerGadget(5, 10, 80, 380, 50, #PB_Container_Double)
     
      ImageGadget(2, 5, 5, 180, 40, ImageID(0))
      CloseGadgetList()
     
    EndIf
   
    If ScrollAreaGadget(6, 10, 150, 380, 50, 350, 50, WindowWidth(0)/10, #PB_ScrollArea_Single)
     
      ImageGadget(3, 5, 5, 180, 40, ImageID(0))
      CloseGadgetList()
     
    EndIf
   
  EndIf
 
EndIf

Define.i Quit, WndEvt, EvtGdg, EvtTyp

Repeat
 
  WndEvt = WaitWindowEvent()
  EvtGdg = EventGadget()
 
  Select WndEvt
     
    Case #PB_Event_CloseWindow
      Quit = 1
     
    Case #PB_Event_Gadget
     
      EvtTyp = EventType() : Debug "EvtType:" + EvtTyp
     
      Select EvtGdg
         
        Case 1 : DbgEvtType   
        Case 2 : DbgEvtType
        Case 3 : DbgEvtType
        Case 5 : DbgEvtType
        Case 6 : DbgEvtType
         
      EndSelect
     
   EndSelect
   
Until Quit = 1

End


PB-Version: PureBasic 5.45 LTS (Linux - x64) & PureBasic 5.61 (Linux - x64)
OS: Ubuntu 16.04 x86_64
Compilereinstellungen:
[ ] Unicode-Executable erstellen
[ ] Thread-sicheres Executable erstellen
[ ] OnError-Unterstützung einschalten
[ ] Moderne Themen-Unterstützung aktivieren (für Windows XP und höher)
[ ] Administrator-Modus für Windows Vista und höher anfordern
[ ] User-Modus für Windows Vista und höher anfordern (keine Virtualisierung)
Library Subsystem:gtk3 (mit gtk2 funktionieren die CLICK Events)

_________________
---
Xubuntu 16.04 LTS (64 bit)
Debian 8 (64 bit)
Windows 7 (64 bit)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Linux] PB 5.61 (x64) - EventType bei ImageGadget
BeitragVerfasst: 17.01.2018 09:48 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Guten Morgen Makke,

kannst du den Bug auch im englischem Forum posten? Da besteht wenigstens die Möglichkeit, dass dieser Fehler behoben wird.

_________________
BildBildBildBildBild
Bild | EnableExplicit ist kostenlos und vermeidet Fehler | Gib Goto keine Chance | Schneller als die Telekom erlaubt | Avira? Nein Danke
WinAPI forever | Bei Problemen bitte Beispielcode posten | Mit Adblock werbefrei, schneller und sicherer surfen | brain.exe ist der beste Schutz | Userlibrary ohne Source = NoGo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Linux] PB 5.61 (x64) - EventType bei ImageGadget
BeitragVerfasst: 17.01.2018 19:55 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Bug schon bekannt...

http://www.purebasic.fr/english/viewtop ... 23&t=69231
http://www.purebasic.fr/english/viewtop ... 23&t=69835

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Linux] PB 5.61 (x64) - EventType bei ImageGadget
BeitragVerfasst: 07.02.2018 22:44 
Offline
Benutzeravatar

Registriert: 25.01.2005 12:19
mk-soft hat geschrieben:
Bug schon bekannt...

Und behoben für GTK3 in PB 5.46 im ASCII- und Unicode-Modus und in PB 5.62... :wink:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Linux] PB 5.61 (x64) - EventType bei ImageGadget
BeitragVerfasst: 11.02.2018 15:46 
Offline
Benutzeravatar

Registriert: 19.10.2006 12:51
Ach das ist auch ein PB-Bug? :roll:

Das Problem ist schon älter. :|

Ich habe mir ein Workaround gebastelt Habe inzwischen PB mehrmals aktualisiert aber vorsichtshalber den Workaround drin gelassen und seitdem auf ImageGadget() verzichtet. :mrgreen:

GTK3 ist bei mir generell sehr absturzfreudig, wenn es über PB angesprochen wird. Bei WindowOutput() z.B. InvalidMemory. /:->

_________________
return;


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Linux] PB 5.61 (x64) - EventType bei ImageGadget
BeitragVerfasst: 11.02.2018 16:43 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
EDIT:

WindowOutput() sollte man bei gtk3 nicht mehr unbedingt nehmen.
Es wird bei leider gtk3 nicht mehr alles unterstützt.
Am besten ein ImageGadget erstellen und dann einfach mit DisableGadget die Event abschalten.
Dann kann man auch Gadgets auf dem ImageGadget legen, wenn das ImageGadget gesperrt ist.

Kleines Beispiel:
Code:
;-TOP

Procedure DrawBackGround(Image,col1, col2)
  Protected dx, dy
  dx = ImageWidth(Image)
  dy = ImageHeight(Image)
  StartDrawing(ImageOutput(Image))
    DrawingMode(#PB_2DDrawing_Gradient)     
    BackColor($000000)
    GradientColor(0.8, col1)
    GradientColor(0.8, col2)
    FrontColor($000000)
    LinearGradient(0, 0, 0, dy)     
    Box(0, 0, dx, dy)
  StopDrawing()
EndProcedure

Procedure Main()
 
  If OpenWindow(0, #PB_Ignore, #PB_Ignore, 800, 300, "Backgroung Image", #PB_Window_SystemMenu)
    CreateImage(0, WindowWidth(0), WindowHeight(0), 32)
    DrawBackGround(0, $800000, $FF0000)
    ImageGadget(0, 0, 0, WindowWidth(0), WindowHeight(0), ImageID(0))
    DisableGadget(0,1)
   
    StringGadget(1, 10, 10, 780, 25, "")
    ButtonGadget(2, 10, 45, 120, 25, "Button")
   
    Repeat
      Select WaitWindowEvent()
        Case #PB_Event_CloseWindow
          Break
        Case #PB_Event_Gadget
          Select EventGadget()
            Case 2
              DrawBackGround(0, Random($FFFFFF), Random($FFFFFF))
              SetGadgetState(0, ImageID(0))
          EndSelect
      EndSelect
    ForEver
   
  EndIf
 
EndProcedure : Main()

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye