MyPy IDE Editor

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
Benutzeravatar
Ubuntuuser
User
Beiträge: 34
Registriert: Samstag 11. Februar 2006, 12:19
Wohnort: Augsburg

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
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

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
Benutzeravatar
Ubuntuuser
User
Beiträge: 34
Registriert: Samstag 11. Februar 2006, 12:19
Wohnort: Augsburg

...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
Benutzeravatar
Ubuntuuser
User
Beiträge: 34
Registriert: Samstag 11. Februar 2006, 12:19
Wohnort: Augsburg

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
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

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
Benutzeravatar
Ubuntuuser
User
Beiträge: 34
Registriert: Samstag 11. Februar 2006, 12:19
Wohnort: Augsburg

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
Benutzeravatar
Ubuntuuser
User
Beiträge: 34
Registriert: Samstag 11. Februar 2006, 12:19
Wohnort: Augsburg

..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
ice
User
Beiträge: 23
Registriert: Dienstag 7. März 2006, 12:05

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
Benutzeravatar
Ubuntuuser
User
Beiträge: 34
Registriert: Samstag 11. Februar 2006, 12:19
Wohnort: Augsburg

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
ice
User
Beiträge: 23
Registriert: Dienstag 7. März 2006, 12:05

vielen dank für die schnelle hilfe

noch schöne ostern
gruß ice
Benutzeravatar
Ubuntuuser
User
Beiträge: 34
Registriert: Samstag 11. Februar 2006, 12:19
Wohnort: Augsburg

..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....
Zuletzt geändert von Ubuntuuser am Montag 5. Juni 2006, 11:01, insgesamt 2-mal geändert.
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

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 (!!!)
Benutzeravatar
Ubuntuuser
User
Beiträge: 34
Registriert: Samstag 11. Februar 2006, 12:19
Wohnort: Augsburg

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
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

achso, das erklärt einiges...aber wieso hasat du dich gegen die cmdline/shell entschieden?
Benutzeravatar
Ubuntuuser
User
Beiträge: 34
Registriert: Samstag 11. Februar 2006, 12:19
Wohnort: Augsburg

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
Antworten