Aktuelle Zeit: 15.12.2018 08:46

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 40 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4
Autor Nachricht
 Betreff des Beitrags: Re: PBObsidian-Theme (Farbschema für PureBasic)
BeitragVerfasst: 21.12.2013 00:12 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Hallo edel,
wenn du es heruntergeladen hast, dann hast du neben der Einrichtungsanwendung eine Preference-Datei mit den einzelnen RGB-Farben. (PB-Exportierungsdatei)
Falls die Datei im Archiv nicht vorhanden ist, dann könnte es am Cache liegen. Einfach nochmal herunterladen und ggf. vorher Cache leeren.

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PBObsidian-Theme (Farbschema für PureBasic)
BeitragVerfasst: 21.12.2013 13:29 
Offline
Benutzeravatar

Registriert: 28.07.2005 12:39
Danke

_________________
Suche


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PBObsidian-Theme (Farbschema für PureBasic)
BeitragVerfasst: 26.12.2013 21:05 
Offline
Benutzeravatar

Registriert: 11.09.2013 19:52
Gibt es inzwischen eigentlich noch ein paar andere Farbschemen?
Ich bin nicht so der Typ fürs ewig rumprobieren.

_________________
AMD X4 Phenom (4x2.31Ghz), 4GB Ram, 250 GB HDD, Asus 6450HD(1GB), Win7(64bit)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PBObsidian-Theme (Farbschema für PureBasic)
BeitragVerfasst: 26.12.2013 21:12 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Naja, PB bietet standardmäßig 8 Design-Vorlagen an. (Siehe Einstellungen unter Editor\Farben)
Hier im Forum wurden auch einige Farbschemen veröffentlicht. Da musst du mal die Boardsuche benutzen. Am besten die Google-Suche mit "site:purebasic.fr", um auch im französischen und englischen Forum suchen zu können. Ob die jeweiligen Downloadlinks noch funktionieren, weiß ich nicht.

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PBObsidian-Theme (Farbschema für PureBasic)
BeitragVerfasst: 05.01.2014 15:43 
Offline
Benutzeravatar

Registriert: 28.07.2005 12:39
Hier mal ein kleines Programm, welches die Farbeinstellungen von Eclipse umwandelt.
Die Themen gibt es auf eclipsecolorthemes.org. Einfach ein Theme auswaehlen und die ID aus der Url als Parameter uebergeben.
Das Programm laed die XML in den Speicher und erstellt danach eine Datei, die ueber die PB-IDE importiert werden kann.

http://eclipsecolorthemes.org/?view=theme&id=21 <- ID = 21

Code:
InitNetwork()

#TIMEOUT   = 4000
#CHUNKSIZE = 512

Structure Theme
  Color.s
  Used.l
  Reverse.l
EndStructure

;/////////////////////////////////////////////////////////
;//
;//
;/////////////////////////////////////////////////////////
Procedure.s GetThemeName(xml)
  Protected name.s = ""
  Protected node.i
 
  If xml
    node = MainXMLNode(xml)
   
    If node
      name = GetXMLAttribute(node, "name")
    EndIf
   
  EndIf
 
  ProcedureReturn name
EndProcedure

;/////////////////////////////////////////////////////////
;//
;//
;/////////////////////////////////////////////////////////
Procedure.s RGBString(color.s, reverse=0) 
  Protected r.a, g.a, b.a
  Protected value.i
 
  color = ReplaceString(color, "#", "$")
  value = Val(color)
 
  r = Red(value)
  g = Green(value)
  b = Blue(value)
 
  If reverse = 1
    r = Abs(255-r)
    g = Abs(255-g)
    b = Abs(255-b)   
  EndIf
   
  ProcedureReturn "RGB("+b+","+g+","+r+")"
EndProcedure

;/////////////////////////////////////////////////////////
;//
;//
;/////////////////////////////////////////////////////////
Procedure.s TransformTheme(xml)
  Protected result.s
  Protected node.i
  Protected color.s
  Protected NewMap Theme.Theme()

  Theme("ModuleColor")\Color = "-1"
  Theme("ASMKeywordColor")\Color = "-1"
  Theme("BackgroundColor")\Color = "-1"
  Theme("BasicKeywordColor")\Color = "-1"
  Theme("CommentColor")\Color = "-1"
  Theme("ConstantColor")\Color = "-1"
  Theme("LabelColor")\Color = "-1"
  Theme("NormalTextColor")\Color = "-1"
  Theme("NumberColor")\Color = "-1"
  Theme("OperatorColor")\Color = "-1"
  Theme("PointerColor")\Color = "-1"
  Theme("PureKeywordColor")\Color = "-1"
  Theme("SeparatorColor")\Color = "-1"
  Theme("StringColor")\Color = "-1"
  Theme("StructureColor")\Color = "-1"
  Theme("LineNumberColor")\Color = "-1"
  Theme("LineNumberBackColor")\Color = "-1"
  Theme("MarkerColor")\Color = "-1"
  Theme("CurrentLineColor")\Color = "-1"
  Theme("SelectionColor")\Color = "-1"
  Theme("SelectionFrontColor")\Color = "-1"
  Theme("CursorColor")\Color = "-1"
  Theme("Debugger_LineColor")\Color = "-1"
  Theme("Debugger_LineSymbolColor")\Color = "-1"
  Theme("Debugger_ErrorColor")\Color = "-1"
  Theme("Debugger_ErrorSymbolColor")\Color = "-1"
  Theme("Debugger_BreakPointColor")\Color = "-1"
  Theme("Debugger_BreakpoinSymbolColor")\Color = "-1"
  Theme("DisabledBackColor")\Color = "-1"
  Theme("GoodBraceColor")\Color = "-1"
  Theme("BadBraceColor")\Color = "-1"
  Theme("ProcedureBackColor")\Color = "-1"
  Theme("CustomKeywordColor")\Color = "-1"
  Theme("Debugger_WarningColor")\Color = "-1"
  Theme("Debugger_WarningSymbolColor")\Color = "-1"
  Theme("IndentColor")\Color = "-1"
  Theme("ToolsPanel_FrontColor")\Color = "0"
  Theme("ToolsPanel_BackColor")\Color = "0" 
 
 
  node = MainXMLNode(xml)
  node = ChildXMLNode(node)
 
  result = "[Sections]"+ #LF$
  result + "IncludeColors = 1" + #LF$
  result + "[Colors]" + #LF$ 
 
  While node
   
    color = GetXMLAttribute(node, "color")
   
    Select GetXMLNodeName(node)
      Case "singleLineComment"
        Theme("CommentColor")\Color = color       
      Case "background"
        Theme("BackgroundColor")\Color = color
        Theme("LineNumberBackColor")\Color = color
        Theme("ProcedureBackColor")\Color = color
        Theme("ToolsPanel_BackColor")\Color = color
      Case "foreground"
        Theme("NormalTextColor")\Color = color
        Theme("SeparatorColor")\Color = color
        Theme("ToolsPanel_FrontColor")\Color = color
        Theme("CursorColor")\Color = color
        Theme("CursorColor")\Color = color       
      Case "constant"
        Theme("ConstantColor")\Color = color
      Case "string"
        Theme("StringColor")\Color = color
      Case "lineNumber"
        Theme("LineNumberColor")\Color = color
      Case "number"
        Theme("NumberColor")\Color = color
      Case "keyword"
        Theme("BasicKeywordColor")\Color = color
        Theme("CustomKeywordColor")\Color = color         
      Case "currentLine"
        Theme("CurrentLineColor")\Color = color 
        Theme("Debugger_BreakPointColor")\Color = color 
      Case "operator"
        Theme("OperatorColor")\Color = color 
      Case "selectionBackground"
        Theme("SelectionColor")\Color = color 
        Theme("SelectionFrontColor")\Color = color       
        Theme("SelectionFrontColor")\reverse = #True       
      Case "class"
        Theme("PureKeywordColor")\Color = color 
    EndSelect   
   
    node = NextXMLNode(node)
  Wend 
 
  ForEach Theme()
       
    If Theme()\Color = "-1"   
      result + MapKey(Theme()) + " = " + RGBString("#000000") + #LF$
      result + MapKey(Theme()) + "_Used = 0" + #LF$     
    Else       
      result + MapKey(Theme()) + " = " + RGBString(Theme()\Color, Theme()\reverse) + #LF$
      result + MapKey(Theme()) + "_Used = 1" + #LF$     
    EndIf
   
  Next

  ProcedureReturn result
EndProcedure

;/////////////////////////////////////////////////////////
;//
;//
;/////////////////////////////////////////////////////////
Procedure.s GetThemeXML(id)
 
  Protected cid.i
  Protected header.s
  Protected headend.l
  Protected timeout.l 
 
  Protected buflen.i
  Protected buffer.s = ""
  Protected result.s = ""
   
  cid = OpenNetworkConnection("eclipsecolorthemes.org", 80)
 
  If cid
   
    header = "GET /?action=download&theme="+id+"&type=xml HTTP/1.1" + #CRLF$
    header + "Host: eclipsecolorthemes.org" + #CRLF$
    header + "Connection: close"            + #CRLF$
    header + #CRLF$
   
    SendNetworkString(cid, header)
   
    timeout = ElapsedMilliseconds()
   
    Repeat
     
      If NetworkClientEvent(cid) = #PB_NetworkEvent_Data
       
        Repeat
          buffer = Space(#CHUNKSIZE)
          buflen = ReceiveNetworkData(cid, @buffer, #CHUNKSIZE)
          result + PeekS(@buffer, buflen, #PB_UTF8)
        Until buflen = 0
                       
        result = StringField(result, 2, #CRLF$ + #CRLF$)
       
        Break
       
      EndIf
     
    Until ElapsedMilliseconds() - timeout > #TIMEOUT
   
    CloseNetworkConnection(cid)
  EndIf
 
  ProcedureReturn result
EndProcedure

;/////////////////////////////////////////////////////////
;//
;//
;/////////////////////////////////////////////////////////
Procedure Main()
  Protected theme.l = 0
  Protected xml.i
  Protected file.i
  Protected result.s
 
  OpenConsole()
 
  theme  = Val(ProgramParameter())
  result = GetThemeXML(theme)
  xml    = CatchXML(#PB_Any, @result, Len(result) * SizeOf(Character), 0, #PB_UTF8)
 
  If xml   
    result = TransformTheme(xml)
   
    file = CreateFile(#PB_Any, "" + theme + "_" + GetThemeName(xml)+ ".prefs")
    If file
      WriteString(file, result)   
      CloseFile(file)
    EndIf
   
    FreeXML(xml)   
  EndIf
 
EndProcedure : End Main()


_________________
Suche


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PBObsidian-Theme (Farbschema für PureBasic)
BeitragVerfasst: 05.01.2014 15:48 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Ich habs noch nicht getestet, aber wenn die Color-Template-Konvertierung mit Hilfe deines Codes super funktioniert, dann ist das echt eine feine Sache. Damit kann man ein Sammelpaket für Farbschemen erstellen und bereitstellen.
Danke für dein Code. :allright:

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PBObsidian-Theme (Farbschema für PureBasic)
BeitragVerfasst: 12.06.2014 00:14 
Offline

Registriert: 19.09.2007 22:18
Danke an edel - scheint ganz gut zu funktionieren. Ich bin jedoch der Meinung, dass bspw. Prozeduren eine andere Farbe bekommen sollten. Hat einer von euch schon probiert die neuen Module-Schlüsselwörter (und ggf. weitere) richtig einzubinden?

_________________
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PBObsidian-Theme (Farbschema für PureBasic)
BeitragVerfasst: 12.06.2014 09:02 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Das wollte ich schon lange machen, weil mir das öfters auffiel. Es steht aber schon in meiner "irgendwann, wenn ich mal Zeit habe"-ToDo-Liste.

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PBObsidian-Theme (Farbschema für PureBasic)
BeitragVerfasst: 12.06.2014 09:31 
Offline

Registriert: 19.09.2007 22:18
RSBasic hat geschrieben:
Es steht aber schon in meiner "irgendwann, wenn ich mal Zeit habe"-ToDo-Liste.
Gut, danke für die Info. Bei mir übrigens auch... ;)

_________________
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PBObsidian-Theme (Farbschema für PureBasic)
BeitragVerfasst: 13.06.2014 23:03 
Offline

Registriert: 19.09.2007 22:18
So, ich habe edels Code mal ein wenig angepasst:
Code:
InitNetwork()

#TIMEOUT   = 4000
#CHUNKSIZE = 512

Structure Theme
   Color.s
   Used.l
   Reverse.l
EndStructure

;/////////////////////////////////////////////////////////
;//
;//
;/////////////////////////////////////////////////////////
Procedure.s GetThemeName(xml)
   Protected name.s = ""
   Protected node.i
   
   If xml
      node = MainXMLNode(xml)
      
      If node
         name = GetXMLAttribute(node, "name")
      EndIf
      
   EndIf
   
   ProcedureReturn name
EndProcedure

;/////////////////////////////////////////////////////////
;//
;//
;/////////////////////////////////////////////////////////
Procedure.s RGBString(color.s, reverse=0)
   Protected r.a, g.a, b.a
   Protected value.i
   
   color = ReplaceString(color, "#", "$")
   value = Val(color)
   
   r = Red(value)
   g = Green(value)
   b = Blue(value)
   
   If reverse = 1
      r = Abs(255-r)
      g = Abs(255-g)
      b = Abs(255-b)   
   EndIf
   
   ProcedureReturn "RGB("+b+","+g+","+r+")"
EndProcedure

;/////////////////////////////////////////////////////////
;//
;//
;/////////////////////////////////////////////////////////
Procedure.s TransformTheme(xml)
   Protected result.s
   Protected node.i
   Protected color.s
   Protected NewMap Theme.Theme()
   
   Theme("ASMKeywordColor")\Color = "-1"
   Theme("BackgroundColor")\Color = "-1"
   Theme("BadBraceColor")\Color = "-1"
   Theme("BasicKeywordColor")\Color = "-1"
   Theme("CommentColor")\Color = "-1"
   Theme("ConstantColor")\Color = "-1"
   Theme("CurrentLineColor")\Color = "-1"
   Theme("CursorColor")\Color = "-1"
   Theme("CustomKeywordColor")\Color = "-1"
   Theme("Debugger_BreakPointColor")\Color = "-1"
   Theme("Debugger_BreakpoinSymbolColor")\Color = "-1"
   Theme("Debugger_ErrorColor")\Color = "-1"
   Theme("Debugger_ErrorSymbolColor")\Color = "-1"
   Theme("Debugger_LineColor")\Color = "-1"
   Theme("Debugger_LineSymbolColor")\Color = "-1"
   Theme("Debugger_WarningColor")\Color = "-1"
   Theme("Debugger_WarningSymbolColor")\Color = "-1"
   Theme("DisabledBackColor")\Color = "-1"
   Theme("GoodBraceColor")\Color = "-1"
   Theme("IndentColor")\Color = "-1"
   Theme("LabelColor")\Color = "-1"
   Theme("LineNumberBackColor")\Color = "-1"
   Theme("LineNumberColor")\Color = "-1"
   Theme("MarkerColor")\Color = "-1"
   Theme("ModuleColor")\Color = "-1"  ; PB5.20
   Theme("NormalTextColor")\Color = "-1"
   Theme("NumberColor")\Color = "-1"
   Theme("OperatorColor")\Color = "-1"
   Theme("PlainBackground")\Color = "-1"
   Theme("PointerColor")\Color = "-1"
   Theme("ProcedureBackColor")\Color = "-1"
   Theme("PureKeywordColor")\Color = "-1"
   Theme("SelectionColor")\Color = "-1"
   Theme("SelectionFrontColor")\Color = "-1"
   Theme("SelectionRepeatColor")\Color = "-1"  ; PB5.30
   Theme("SeparatorColor")\Color = "-1"
   Theme("StringColor")\Color = "-1"
   Theme("StructureColor")\Color = "-1"
   Theme("ToolsPanel_BackColor")\Color = "0"
   Theme("ToolsPanel_FrontColor")\Color = "0"
   
   
   node = MainXMLNode(xml)
   node = ChildXMLNode(node)
   
   result = "[Sections]"+ #LF$
   result + "IncludeColors = 1" + #LF$
   result + "[Colors]" + #LF$
   
   While node
      
      color = GetXMLAttribute(node, "color")

      Select GetXMLNodeName(node)
         Case "background"
            Theme("BackgroundColor")\Color = color
            ;Theme("DisabledBackColor")\Color = color
            ;Theme("IndentColor")\Color = color
            Theme("LineNumberBackColor")\Color = color
            Theme("PlainBackground")\Color = color
            Theme("ProcedureBackColor")\Color = color
            Theme("ToolsPanel_BackColor")\Color = color
         Case "bracket"
            ;Theme("BadBraceColor")\Color = color
            Theme("GoodBraceColor")\Color = color
            Theme("SeparatorColor")\Color = color
         Case "class" ;"method"
            Theme("ASMKeywordColor")\Color = color
            Theme("ModuleColor")\Color = color
            Theme("PureKeywordColor")\Color = color
         Case "constant"
            Theme("ConstantColor")\Color = color
         Case "currentLine"
            Theme("CurrentLineColor")\Color = color
            Theme("Debugger_BreakPointColor")\Color = color
         Case "enum"  ; TODO
            Theme("LabelColor")\Color = color
            Theme("PointerColor")\Color = color
         Case "field"  ; TODO
            Theme("StructureColor")\Color = color
         Case "foreground"
            Theme("CursorColor")\Color = color
            ;Theme("MarkerColor")\Color = color
            Theme("NormalTextColor")\Color = color
            Theme("ToolsPanel_FrontColor")\Color = color
         Case "keyword"
            Theme("BasicKeywordColor")\Color = color
            Theme("CustomKeywordColor")\Color = color
         Case "lineNumber"
            Theme("LineNumberColor")\Color = color
         Case "number"
            Theme("NumberColor")\Color = color
         Case "findScope"
            Theme("SelectionRepeatColor")\Color = color
         Case "operator"
            Theme("OperatorColor")\Color = color
         Case "selectionBackground"
            Theme("SelectionColor")\Color = color
         Case "selectionForeground"
            Theme("SelectionFrontColor")\Color = color
         Case "singleLineComment"
            Theme("CommentColor")\Color = color
         Case "string"
            Theme("StringColor")\Color = color
      EndSelect   
      
      node = NextXMLNode(node)
   Wend
   
   ForEach Theme()
      
      If Theme()\Color = "-1"   
         result + MapKey(Theme()) + " = " + RGBString("#000000") + #LF$
         result + MapKey(Theme()) + "_Used = 0" + #LF$     
      Else       
         result + MapKey(Theme()) + " = " + RGBString(Theme()\Color, Theme()\reverse) + #LF$
         result + MapKey(Theme()) + "_Used = 1" + #LF$     
      EndIf
      
   Next
   
   ProcedureReturn result
EndProcedure

;/////////////////////////////////////////////////////////
;//
;//
;/////////////////////////////////////////////////////////
Procedure.s GetThemeXML(id)
   
   Protected cid.i
   Protected header.s
   Protected headend.l
   Protected timeout.l
   
   Protected buflen.i
   Protected buffer.s = ""
   Protected result.s = ""
   
   cid = OpenNetworkConnection("eclipsecolorthemes.org", 80)
   
   If cid
      
      header = "GET /?action=download&theme="+id+"&type=xml HTTP/1.1" + #CRLF$
      header + "Host: eclipsecolorthemes.org" + #CRLF$
      header + "Connection: close"            + #CRLF$
      header + #CRLF$
      
      SendNetworkString(cid, header)
      
      timeout = ElapsedMilliseconds()
      
      Repeat
         
         If NetworkClientEvent(cid) = #PB_NetworkEvent_Data
            
            Repeat
               buffer = Space(#CHUNKSIZE)
               buflen = ReceiveNetworkData(cid, @buffer, #CHUNKSIZE)
               result + PeekS(@buffer, buflen, #PB_UTF8)
            Until buflen = 0
            
            result = StringField(result, 2, #CRLF$ + #CRLF$)
            
            Break
            
         EndIf
         
      Until ElapsedMilliseconds() - timeout > #TIMEOUT
      
      CloseNetworkConnection(cid)
   EndIf
   
   ProcedureReturn result
EndProcedure

;/////////////////////////////////////////////////////////
;//
;//
;/////////////////////////////////////////////////////////
Procedure Main()
   Protected theme.l = 0
   Protected xml.i
   Protected file.i
   Protected result.s
   
   OpenConsole()
   
   theme  = Val(ProgramParameter())  ; Theme ID
   result = GetThemeXML(theme)
   xml    = CatchXML(#PB_Any, @result, Len(result) * SizeOf(Character), 0, #PB_UTF8)
   
   If xml   
      result = TransformTheme(xml)
      
      file = CreateFile(#PB_Any, GetHomeDirectory() + theme + "_" + GetThemeName(xml)+ ".prefs")
      If file
         WriteString(file, result)   
         CloseFile(file)
      EndIf
      
      FreeXML(xml)   
   EndIf
   
EndProcedure : End Main()
Die größte Änderung ist wohl, dass nun Label und Pointer die (inhaltlich nicht richtige) enum- und Strukturen die field-Farbe bekommen. Außerdem habe ich die neue SelectionRepeatColor-Farbe eingebaut.

_________________
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 40 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


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