Linux: Notify, Proceed, RequestFile und -Dir aktuallisieren

Übersicht BlitzMax, BlitzMax NG FAQs und Tutorials

Neue Antwort erstellen

rema

Betreff: Linux: Notify, Proceed, RequestFile und -Dir aktuallisieren

BeitragFr, Nov 11, 2005 14:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Unter Linux kommt neu Notify, Proceed, RequestFile oder RequestDir immer ein Eingabepropt.

Wer will kann dies so beheben:

1) xdialog installieren: http://xdialog.dyns.net
sollte aber normalerweise bei jeder Distribution dabei sein.

2) Folgende Dateien umschreiben:

../BlitzMax/mod/brl.mod/system.mod/driver.bmx

Code: [AUSKLAPPEN]
Strict

Type TSystemDriver

   Method Poll() Abstract
   Method Wait() Abstract
   Method MilliSecs() Abstract
   Method Delay( millis ) Abstract
   
   Method GetChar() Abstract
   Method KeyHit( keycode ) Abstract
   Method KeyDown( keycode ) Abstract
   Method FlushKeys() Abstract
   
   Method MouseLocation( axis ) Abstract
   Method MoveMouse(x,y) Abstract

 ' Folgende Zeilen sind zu übernehmen
   Method Notify( text$,serious ) Abstract
   Method Confirm( text$,serious ) Abstract
   Method Proceed( text$,serious ) Abstract
   Method RequestFile$( text$,exts$,save,file$ ) Abstract
   Method RequestDir$( text$,path$ ) Abstract

End Type

Global Driver:TSystemDriver



../BlitzMax/mod/brl.mod/system.mod/system.linux.bmx

Code: [AUSKLAPPEN]

Strict

Import "driver.bmx"
Import "system.linux.c"

Import Pub.StdC

Extern

Function bbSystemStartup()
Function bbSystemPoll()
Function bbSystemWait()
Function bbSystemMilliSecs()
Function bbSystemDelay( millis )

Function bbSystemKeyHit( key )
Function bbSystemKeyDown( key )
Function bbSystemGetChar()
Function bbSystemFlushKeys()

Function bbSystemMouseLocation( axis )
Function bbSystemMoveMouse( x,y )

End Extern

Type TLinuxSystemDriver Extends TSystemDriver

   Method New()
      bbSystemStartup
   End Method

   Method Poll()
      bbSystemPoll()
   End Method
   
   Method Wait()
      bbSystemWait()
   End Method

   Method MilliSecs()
      Return bbSystemMilliSecs()
   End Method

   Method Delay( millis )
      bbSystemDelay( millis * 1000 )
   End Method

   Method KeyHit( keycode )
      Return bbSystemKeyHit( keycode )
   End Method

   Method KeyDown( keycode )
      Return bbSystemKeyDown( keycode )
   End Method
   
   Method GetChar()
      Return bbSystemGetChar()
   End Method

   Method FlushKeys()
      bbSystemFlushKeys
   End Method

   Method MouseLocation( axis )
      Return bbSystemMouseLocation( axis )
   End Method
   
   Method MoveMouse( x,y )
      bbSystemMoveMouse x,y
   End Method
   
   ' BETA TEST ################################################## with Xdialog
   Method Notify( text$,serious )
      system_("Xdialog --msgbox ~q"+ text$ +"~q 0  0")
   End Method
   
   Method Confirm( text$,serious )
      Return Not( system_("Xdialog --yesno ~q"+ text$ +"~q 0  0") )
   End Method

   ' geht noch nicht 100%
   Method Proceed( text$,serious )
      Return system_("Xdialog --yesno ~q"+ text$ +"~q 0  0")
   End Method

   Method RequestFile$( text$="",exts$="",save=0,file$="" )
      Return system_("Xdialog --fselect ~q"+ file$ +"~q 0 0")
   End Method

   Method RequestDir$( text$="",path$="" )
      Return system_("Xdialog --dselect ~q"+ path$ +"~q 0 0")
   End Method

End Type


Ich versuche noch den Quellcode von Xdialog komplett zu integrieren, so dass man unabhäniger ist. Zudem kommen noch ein paar nette Sachen hinzu die bei BlitzMax noch garnicht zu haben sind Smile

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG FAQs und Tutorials

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group