Seite 1 von 1

MyPy IDE Editor

Verfasst: Freitag 17. Februar 2006, 20:09
von Ubuntuuser
Hallo,
ich habe einen Editor für Python geschrieben
es ist ein recht einfach gehaltener Editor aber voll funktionfähig und stabil
Besonderheiten sind enthalten..man kann scripte über den Run-button
gleich testen vorausgesetzt Python befindet sich im C:\Pyhon24\Pythonw.exe
pfad so wie beschrieben.

würde mich über feedback freuen und Verbesserungsvorschläge oder wie
das tool euch so gefällt.Der Editor ist leider vorerst nur für Windows..eine Linuxversion sollte folgen.

hier sind infos auf der webseite
INFO

oder direkt download
Dateigröße 1,36 MB
MyPyIDE.zip

Screenshot
Bild

Es sind 2 Files in der Zip datei MyPy.exe und die readme datei.
also kein Setup Installationsvorgang notwendig,auspacken und starten....



mfg
Ubuntuuser

Verfasst: Freitag 17. Februar 2006, 23:10
von Mr_Snede
Du gibst den Icons aber eine Menge Bildschirmplatz, sollte die Aufmerksamkeit nicht eher auf dem Editorfenster liegen?

Leider kann ich ihn nicht testen, da ich Linux einsetze
noch fehlende Attribute: --> -momentan nur Windows Version
schade (vor allem wegen deines Nicks).

Melde dich einfach nochmal, wenn du den Editor als *.py freigibst.

cu Sebastian

Bug beseitigt

Verfasst: Freitag 17. Februar 2006, 23:19
von Ubuntuuser
...ich habe leider zwei bugs gefunden ,

einer ist beseitigt,wenn man im Menu unter Options -Configure MyPy IDE
wählte kam eine fehlermeldung und das program brach ab,auch über den button Editor links unten.

Dieser Fehler ist nun beseitigt,jetzt kann man das menu aufrufen.


zweiter fehler wo ich noch dran bin ist das der begrüßungstext(Info) oder die Laufschrift erst ablaufen muss.Wenn man vorher den Button Editor oder unter dem Menu Options-Configure MyPy IDE klickt bleibt eine Fehlermeldung.. ausserdem wiederholt sich der Info text nach dem konfigurieren des Editors..das werde ich noch ändern...

ein upload der neuen Version habe ich schon gemacht...

mfg
yabuti

Verfasst: Freitag 17. Februar 2006, 23:23
von Ubuntuuser
Mr_Snede hat geschrieben:Du gibst den Icons aber eine Menge Bildschirmplatz, sollte die Aufmerksamkeit nicht eher auf dem Editorfenster liegen?

Leider kann ich ihn nicht testen, da ich Linux einsetze
noch fehlende Attribute: --> -momentan nur Windows Version
schade (vor allem wegen deines Nicks).

Melde dich einfach nochmal, wenn du den Editor als *.py freigibst.

cu Sebastian
momentan nur deswegen weil ich den kompletten Quelltext erst in python umschreiben muss,der Editor ist nicht in Python geschrieben aber für Python...habe noch geduld ich werde das dann schon posten...kann aber noch ein weilchen dauern.

übrigens die icons habe ich extra so groß gemacht aber bleibt genug aufmerksam auf dem Editor..


mfg
Ubuntuuser

Verfasst: Freitag 17. Februar 2006, 23:59
von Mr_Snede
ahso - schön, dass du dich für Python entschieden hast.
Trotzdem bin ich neugierig, womit hast du den Editor den bis jetzt geschrieben?

cu Sebastian

Verfasst: Samstag 18. Februar 2006, 10:42
von Ubuntuuser
Mr_Snede hat geschrieben:ahso - schön, dass du dich für Python entschieden hast.
Trotzdem bin ich neugierig, womit hast du den Editor den bis jetzt geschrieben?

cu Sebastian
Hi Mr_Snede,

Den Editor habe ich in einer BASIC Dialekt Sprache geschrieben.


mfgUbuntuuser

Verfasst: Samstag 18. Februar 2006, 13:48
von Ubuntuuser
..so nun ist der zweite bug auch beseitigt,das Begrüßungsinfo habe ich nun rausgeschmissen,empfand ich als störend...jetzt können keine Fehlermeldungen mehr erscheinen,

upload ist bereits gemacht.


das Teil läuft jetzt wirklich stabil...wie gesagt ein kleiner Editor
jetzt werde ich mich an die in Python geschriebene Version ranmachen
für Linux (Ubuntu).



mfg

Ubuntuuser

Verfasst: Samstag 15. April 2006, 21:38
von ice
KÖnntest du einen Teil deines codes freigeben ?

bin in besonderem an der sache mitder font interessiert da ich das nicht schafffe ....


vielen dank ice

Verfasst: Sonntag 16. April 2006, 13:30
von Ubuntuuser
hallo ice,

also zu deiner Frage wenn Du z.b. ein Menu "Optionen" hast dann gib folgenden code ein z.b.

Code: Alles auswählen

def arial():
        text.config(bg="white",fg="black",font=("Arial new",18))

def verdana():
        text.config(bg="white",fg="black",font=("Verdana",12))

def courier():
        text.config(bg="white",fg="black",font=("Courier new",14))
#**********************************************************
optionsmenu = Menu(menu,tearoff=0,bg="black")
menu.add_cascade(label="Options", menu=optionsmenu)
optionsmenu.add_command(label="Arial", command=arial)
optionsmenu.add_command(label="Verdana", command=verdana)
optionsmenu.add_command(label="Courier", command=courier)
ich hoffe das hat geholfen...desweiteren habe ich das Project MyPy Editor in der version Python noch in bearbeitung weil auch andere projekte anstehen habe ich dieses aufgeschoben..ein Teil ist schon fertig.

Die Version die Du oben angesprochen hast ist in Liberty Basic geschrieben,aber der obere CODE müste ja eigentlich helfen..

Gruß Ubuntuuser

Verfasst: Sonntag 16. April 2006, 15:02
von ice
vielen dank für die schnelle hilfe

noch schöne ostern
gruß ice

MyPy--ChameleoVersion für Linux

Verfasst: Sonntag 4. Juni 2006, 14:11
von Ubuntuuser
..So jetzt habe ich nun die Linux Version vorerst mal fertig gestellt,Dieser Editor ist zwar vom Design anders aufgebaut aber funktioniert bei mir unter Ubuntu einwandfrei,man bedenke das code leider nicht per copy und paste unter dem Run Button funktioniert sondern nur über den Öffnen Dialog in den Editor geladenen Code (Tkinter- ,GTK -programme)lassen sich über den Run Button ausführen.Könnte man sicher noch verbessern... ich habe diese Version Chameleo Version genannt wegen den verschieden Farbmöglichkeiten wo man den Editor nach seinen Bedürfnissen anpassen kann.Viel spass...


Code: Alles auswählen

#! /usr/bin/env python
# -*- coding: cp1252 -*-
from Tkinter import*
import tkFileDialog
import sys
import os
import thread


class Editor:
   def __init__ (self,master):
	 self.master = master
	 self.master.geometry('600x450+300+150')
         master.title("MyPy IDE ------  *Chameleo Version*")
         scrollbar = Scrollbar(master)
         scrollbar.pack(side=RIGHT,fill=Y)
         self.file=None
         self.s=StringVar()
         # create a menu
         self.menu = Menu(master,bg="black",fg="green",activebackground="#D2ECAB",activeforeground="#3F4929")
         self.master.config(menu=self.menu)

         self.filemenu = Menu(self.menu,tearoff=0,bg="black",fg="green",activebackground="#D2ECAB",activeforeground="#3F4929")
         self.menu.add_cascade(label="File", menu=self.filemenu)
         self.filemenu.add_command(label="New", command=self.new)
         self.filemenu.add_command(label="Open", command=self.laden)
         self.filemenu.add_command(label="Save as", command=self.speichern_unter)
         self.filemenu.add_separator()
         self.filemenu.add_command(label="Exit", command=self.quit)

         self.optionsmenu = Menu(self.menu,tearoff=0,bg="black",fg="green",activebackground="#D2ECAB",activeforeground="#3F4929")
         self.menu.add_cascade(label="Options", menu=self.optionsmenu)
         self.optionsmenu.add_command(label="Select colors...", command=self.farben)
	 self.optionsmenu.add_command(label="Blue", command=self.blue)
         self.optionsmenu.add_command(label="Yellow", command=self.yellow)
         self.optionsmenu.add_command(label="Green", command=self.green)
         self.optionsmenu.add_command(label="Black", command=self.black)
         self.optionsmenu.add_command(label="White", command=self.white)
         self.optionsmenu.add_command(label="Arial 18", command=self.arial)
         self.optionsmenu.add_command(label="Verdana 12", command=self.verdana)
         self.optionsmenu.add_command(label="Courier 14", command=self.courier)
	 self.optionsmenu.add_command(label="Font", command=self.couriernew)

         self.Runmenu = Menu(self.menu,tearoff=0,bg="black",fg="green",activebackground="#D2ECAB",activeforeground="#3F4929")
         self.menu.add_cascade(label="Run", menu=self.Runmenu)
         self.Runmenu.add_command(label="Script...", command=self.run)
         self.Runmenu.add_command(label="Python Shell", command=self.shell)

         self.helpmenu = Menu(self.menu,tearoff=0,bg="black",fg="green",activebackground="#D2ECAB",activeforeground="#3F4929")
         self.menu.add_cascade(label="Help", menu=self.helpmenu)
         self.helpmenu.add_command(label="About...", command=self.about)
         
         self.text=Text(master,bg="#ECEEE9",fg="#3F4929",width=600,height=400,font=("Courier new",12),
         yscrollcommand=scrollbar.set)
         scrollbar.config(command=self.text.yview)
         self.text.pack()
	 
   def farben(self,event=None):
	 main = Tk()
         main.geometry("200x114+80+200")
	 main.title("Select color...")
	 frame=Frame(main,width=100,height=6,bg="black")
	 frame.place(x=0,y=0)
	 button=Button(frame,text="",bg="blue",width=32,activebackground="#B4C0EB",command=self.blue)
	 button.pack(side=TOP,expand=TRUE)
	 button2=Button(frame,text="",bg="green",width=32,activebackground="#D2ECAB",command=self.green)
	 button2.pack(side=TOP)
	 button3=Button(frame,text="",bg="yellow",width=32,activebackground="#EAEAB7",command=self.yellow)
	 button3.pack(side=TOP)
	 button4=Button(frame,text="",bg="black",width=32,activebackground="#6D6F77",command=self.black)
	 button4.pack(side=TOP)
	 button5=Button(frame,text="",bg="white",width=32,activebackground="#F7EBEB",command=self.white)
	 button5.pack(side=TOP)
	 main.resizable(0,0)
         main.mainloop()
	
   def blue(self,event=None):
	 self.text.config(bg="#E9ECF7",fg="#273156")
	 self.menu.config(bg="black",fg="cyan",activebackground="#B4C0EB",activeforeground="#273156")
	 self.filemenu.config(bg="black",fg="cyan",activebackground="#B4C0EB",activeforeground="#273156")
	 self.optionsmenu.config(bg="black",fg="cyan",activebackground="#B4C0EB",activeforeground="#273156")
	 self.helpmenu.config(bg="black",fg="cyan",activebackground="#B4C0EB",activeforeground="#273156")
	 self.Runmenu.config(bg="black",fg="cyan",activebackground="#B4C0EB",activeforeground="#273156")
	
   def yellow(self,event=None):
	 self.text.config(bg="#F8F8DD",fg="#55552F")
	 self.menu.config(bg="black",fg="yellow",activebackground="#EAEAB7",activeforeground="#71713C")
	 self.filemenu.config(bg="black",fg="yellow",activebackground="#EAEAB7",activeforeground="#71713C")
	 self.optionsmenu.config(bg="black",fg="yellow",activebackground="#EAEAB7",activeforeground="#71713C")
	 self.helpmenu.config(bg="black",fg="yellow",activebackground="#EAEAB7",activeforeground="#71713C")
         self.Runmenu.config(bg="black",fg="yellow",activebackground="#EAEAB7",activeforeground="#71713C")
   
   def green(self,event=None):
	 self.text.config(bg="#ECEEE9",fg="#3F4929")
	 self.menu.config(bg="black",fg="green",activebackground="#D2ECAB",activeforeground="#3F4929")
	 self.filemenu.config(bg="black",fg="green",activebackground="#D2ECAB",activeforeground="#3F4929")
	 self.optionsmenu.config(bg="black",fg="green",activebackground="#D2ECAB",activeforeground="#3F4929")
	 self.helpmenu.config(bg="black",fg="green",activebackground="#D2ECAB",activeforeground="#3F4929")
	 self.Runmenu.config(bg="black",fg="green",activebackground="#D2ECAB",activeforeground="#3F4929")
    
   def black(self,event=None): 
	 self.text.config(bg="black",fg="green")
	 self.menu.config(bg="black",fg="green",activebackground="#D2ECAB",activeforeground="#3F4929")
	 self.filemenu.config(bg="black",fg="green",activebackground="#D2ECAB",activeforeground="#3F4929")
	 self.optionsmenu.config(bg="black",fg="green",activebackground="#D2ECAB",activeforeground="#3F4929")
	 self.helpmenu.config(bg="black",fg="green",activebackground="#D2ECAB",activeforeground="#3F4929")
	 self.Runmenu.config(bg="black",fg="green",activebackground="#D2ECAB",activeforeground="#3F4929")
	
   def white(self,event=None): 
	 self.text.config(bg="white",fg="black")
	 self.menu.config(bg="black",fg="white",activebackground="#D2ECAB",activeforeground="#3F4929")
	 self.filemenu.config(bg="black",fg="white",activebackground="#D2ECAB",activeforeground="#3F4929")
	 self.optionsmenu.config(bg="black",fg="white",activebackground="#D2ECAB",activeforeground="#3F4929")
	 self.helpmenu.config(bg="black",fg="white",activebackground="#D2ECAB",activeforeground="#3F4929")
	 self.Runmenu.config(bg="black",fg="white",activebackground="#D2ECAB",activeforeground="#3F4929")
	 
   def arial(self,event=None):
         self.text.config(font=("Arial new",18))

   def verdana(self,event=None):
         self.text.config(font=("Verdana",12))

   def courier(self,event=None):
         self.text.config(font=("Courier new",14))
	 
   def couriernew(self,event=None):
         self.text.config(font=("Courier new",12))
 
   def quit(self,event=None):
         self.master.destroy()


   def run(self,event=None):

         thread.start_new_thread(os.system,(("C:\Python24\python "+self.datei.name),))
         

   def shell(self,event=None):
         os.system('"C:\Python24\python"')

       
   def laden (self,event=None):
         self.datei = tkFileDialog.askopenfile()
         self.text.delete(1.0,END)
         if self.datei:
             self.text.insert(1.0,self.datei.read())

   def new (self,event=None):
         self.text.delete(1.0,END)


   def speichern_unter (self,event=None):
         self.datei=tkFileDialog.asksaveasfile()
         if self.datei:
            self.datei.write(self.text.get(1.0,END))
	    
   def about(self,event=None):
         window = Tk()
         window.geometry("200x220")
         info=Label(window,width="200",height="220",bg="black",
                    fg="green",
                    text="MyPy IDE Chameleo Version is written \nby yabuti 2006 \n in Python \n---------- \n\nthis version is for Linux \na code Editor \nfor run codesnippets \nor Tkinter programs \nthis is version 1.0").pack()
         window.title("About")
         window.resizable(0,0)
         window.mainloop()

root=Tk()
editor=Editor(root)
root.mainloop()




mfg Ubuntuuser

P.S. vielleicht weiß jemand eine Lösung wie man codesnippets oder Programme mit copy und paste in den Editor dann ausführen kann....

Verfasst: Sonntag 4. Juni 2006, 17:10
von murph
hi!
sitze grad von nem freund an nem windows-xp-rechner.
habe nun das archiv entpackt und angesehen, habe aber bemerkt, dass ich den code nicht ausführen kann, es kommt keine fehlermeldung, aber einfache printbefehle und importe werden nicht ausgeführt.
pfad ist C:\Python24\pythonw.exe (!!!)

Verfasst: Sonntag 4. Juni 2006, 23:31
von Ubuntuuser
murph hat geschrieben:hi!
sitze grad von nem freund an nem windows-xp-rechner.
habe nun das archiv entpackt und angesehen, habe aber bemerkt, dass ich den code nicht ausführen kann, es kommt keine fehlermeldung, aber einfache printbefehle und importe werden nicht ausgeführt.
pfad ist C:\Python24\pythonw.exe (!!!)

Du hast wahrscheinlich oben die erste Version für windows genommen
ich muss dazu sagen das dies kein Editor für printbefehle ist sondern für Tkinter programme..sorry es ist halt nicht so wie bei IDLE oder Scite das man eine Fehlermeldung sieht in der Shell,der Editor ist daher eher gedacht um schnell mal einen Tk code auszuführen.

Wenn Du den oberen code nimmst von dem Python Programm also die ChameleoVersion für linux und den Pfad bei run änderst von

Code: Alles auswählen

/usr/bin/python
in

Code: Alles auswählen

C:\Python24\python
kannst du diesen Editor auch für XP verwenden,aber erwarte nicht zu viel es ist ein kleines programm ohne die Python Shell zu sehen wie z.b. bei IDLE....

mfg Ubuntuuser

Verfasst: Montag 5. Juni 2006, 00:18
von murph
achso, das erklärt einiges...aber wieso hasat du dich gegen die cmdline/shell entschieden?

Verfasst: Montag 5. Juni 2006, 10:27
von Ubuntuuser
murph hat geschrieben:achso, das erklärt einiges...aber wieso hasat du dich gegen die cmdline/shell entschieden?

..also ich habe mich nicht direkt dagagen entschieden sondern einfach das tool für so ausreichend gehalten was die Ausführung von Tkinter programme betrifft,aber ich habe eine option hinzugefügt zu dem Python code oberhalb bei der Chameleo Version

Code: Alles auswählen

self.Runmenu.add_command(label="Python Shell", command=self.shell)
und

Code: Alles auswählen

   def shell(self,event=None):
         os.system('"C:\Python24\python"')
so könnte man die shell extern aufrufen... :D


mfg Ubuntuuser