Schrift
[thread]11437[/thread]

Kephra: Texteditor nur in Perl (Seite 18)

Tags: Ähnliche Threads

Leser: 92


<< |< 1 ... 15 16 17 18 19 20 21 ... 54 >| >> 539 Einträge, 54 Seiten
renee
 2008-08-29 14:55
#114080 #114080
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Da passt aber noch nicht alles 100%ig:

* $panel->Clear würde ich in run aufrufen, sonst bekommt man immer nur die letzte Zeile angezeigt:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sub output { 
        my $panel = _ref();
        $panel->AppendText( @_ );
}

sub clear_output {
    my $panel = _ref();
    $panel->Clear;
}

sub run {
        my $win = Kephra::App::Window::_ref();
        my $doc = Kephra::Document::_get_current_file_path();
        Kephra::File::save_current();
        if ($doc) {
        clear_output();
                my $proc = Wx::Perl::ProcessStream->OpenProcess(qq~perl "$doc"~ , 'Output-Extention', $win);
        } else {
                Kephra::App::StatusBar::info_msg(
                        $Kephra::localisation{app}{menu}{document} . ' ' . 
                        $Kephra::localisation{app}{general}{untitled} . "\n" );
        }
}


* Wenn Leerzeichen im Pfad enthalten sind, macht es auch Probleme. OpenProcess sollte daher so aufgerufen werden:
Code (perl): (dl )
                my $proc = Wx::Perl::ProcessStream->OpenProcess(qq~perl "$doc"~ , 'Output-Extention', $win);


Ansonsten echt cool!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2008-08-29 14:57
#114081 #114081
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Außerdem sollte nicht das perl von Kephra aufgerufen werden, weil da viele Module fehlen!

Was es da für eine Lösung gibt, weiß ich noch nicht...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2008-08-29 15:06
#114082 #114082
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ideen:

* Größe des Output-Panels sollte einfach zu ändern sein.
* Name des Executables sollte von Dateiendung abhängen
* Pfad zum Programm (Executable) sollte konfigurierbar sein.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
lichtkind
 2008-08-29 15:33
#114084 #114084
User since
2004-03-22
5711 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
renee: danke für den patch mit dem qq hab ich eingefügt aber der reihe nach, denn dies war das erste nightly in dem ich die funktion gleich weiterreichen wollte. mir ist auch klardas dies alles am anfang steht.

die sache mit den mehreren Zeilen hab ich gestern abend noch erkannt und behoben, etwas anders als du. das mit der veränderlichen größe hab ich mir für heute vorgenommen sowie das er sich merkt ob es grad offen oder zugeklappt war und ein icon wollt ich noch einbauen, vielleicht auch das man den prozess anhalten kann wenn er zu lange dauert oder sich aufhängt.

das das exe programm in dem syntaxmode gehört ist mir auch schon ne weile klar, nur es gibt noch keine syntaxmodes die sind grad etwas im entstehen. im moment reicht es erstmal so.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
renee
 2008-08-29 15:45
#114085 #114085
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
So, für meinen Kephra habe ich jetzt folgendes gemacht:

/config/extention/output/executables.yaml:
Code: (dl )
1
2
---
perl: C:\usr\bin\perl


Kephra.pm habe ich etwas angepasst:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#....
use Cwd;
use File::Spec::Functions ':ALL';
use File::HomeDir    ();
use File::UserConfig ();
use File::Basename   ();
use Config::General  ();
use YAML::Tiny       ();

our $basedir;
BEGIN{
    $basedir = rel2abs( File::Basename::dirname( __FILE__ ) );
}

use Wx;                            # Core wxWidgets Framework
use Wx::STC;                       # Scintilla editor component
#....


Kephra::Extention::Output:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#...
use Kephra::Extention::Output::Config;

#...

sub run {
        my $win = Kephra::App::Window::_ref();
        my $doc = Kephra::Document::_get_current_file_path();
        Kephra::File::save_current();
        if ($doc) {
        clear_output();
        my $type = Kephra::Document::SyntaxMode::get();
        Kephra::Extention::Output::Config::load( $Kephra::basedir );
        my $prog = Kephra::Extention::Output::Config::get( $type ) || 'perl';
                my $proc = Wx::Perl::ProcessStream->OpenProcess(qq~"$prog" "$doc"~ , 'Output-Extention', $win);
        } else {
                Kephra::App::StatusBar::info_msg(
                        $Kephra::localisation{app}{menu}{document} . ' ' . 
                        $Kephra::localisation{app}{general}{untitled} . "\n" );
        }
}


Kephra::Extention::Output::Config:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package Kephra::Extention::Output::Config;

use strict;
use warnings;

use File::Spec;
use YAML::Tiny;

our $VERSION = 0.01;

my %hash;

sub load {
    my $basename = shift;
    my $conf = File::Spec->catfile( $basename, '..', 'config', 'extention', 'output', 'executables.yaml' );
    my $ref = YAML::Tiny->read( $conf );
    
    if( $ref and $ref->[0] ){
        %hash = %{ $ref->[0] };
    }
}

sub get {
    my ($key) = @_;    
    return $hash{$key};
}

1;


et voilá (für mich genügt das erstmal)
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
lichtkind
 2008-08-29 16:24
#114087 #114087
User since
2004-03-22
5711 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
geh ich recht in der annahme das du damit nur passende interpreter je mode bestimmst? da kann einer wieder nicht abwarten. welche brauchst den noch?
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
renee
 2008-08-29 16:33
#114089 #114089
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
lichtkind+2008-08-29 14:24:11--
geh ich recht in der annahme das du damit nur passende interpreter je mode bestimmst? da kann einer wieder nicht abwarten.
Kennst mich doch ;-)
Quote
welche brauchst den noch?
Ich kann mir so zu Modes wie "yaml" etc. eigene Programme drauflegen, die mir die Angaben validieren...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
lichtkind
 2008-08-29 16:45
#114090 #114090
User since
2004-03-22
5711 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
nun da musst erstmal teilweise mit deienm hack leben da ich erstmal den output panel soweit fertig bekommen möchte, das ich config dialog auskommentiere und neues testing release rausbringe, das vielleicht noch die notepad extention hat.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
lichtkind
 2008-08-29 18:24
#114091 #114091
User since
2004-03-22
5711 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
was ich auch vorhab ist in den ferlehrmeldungen die zeilennummern zu links zu machen die im editpanel zu den stellen springen lassen.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
renee
 2008-08-29 18:29
#114092 #114092
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Was man auch bedenken muss ist, dass man evtl in das Verzeichnis des Programms wechseln muss, weil es vielleicht "use lib"-Angaben gibt.

Schön wäre es, wenn man dann noch eigene Links und dazugehörige Aktionen bestimmen könnte. Dann könnte man nämlich bei Fehlern, die ein Modul betreffen gleich die Doku dazu aufrufen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 ... 15 16 17 18 19 20 21 ... 54 >| >> 539 Einträge, 54 Seiten



View all threads created 2008-03-09 00:08.