WPCubed Product Support

WPEditor paar Fragen

wpsupport

Ich muss mir da eine Demo bauen und diese für 9.2 verbessern.

#10 ♥ 0
8.9k Views 2 users read 4 min

Kann ich dir das irgendwie zum testen zur Verfügung stellen?

Ich habe auf die aktuellste Version upgedatet, und erzeugen den Editor mit folgenden Code

fEditor                         := TWPRichText.Create(self);
    fEditor.Name                    := 'Editor';
    fEditor.Align                   := alClient;
    fEditor.Parent                  := TabSheet1;

    fEditor.ProtectedProp           := [ppAllExceptForEditFields, ppIsInsertpoint, ppProtectSelectedTextToo];
    fEditor.LayoutMode              := wplayFullLayout;
    fEditor.EditOptions := fEditor.EditOptions - [wpDontSelectCompleteField];
    fEditor.EditOptions := fEditor.EditOptions - [wpSelectCompleteFieldAlsoWhenInside];

Das Verhalten ist :

mit Tab springe ich von Zelle 1 in die Zelle 2 - Dann wird die ganze Zelle Hellblau markiert, und der Text samt den "<<MERGEFIELD>>" wird etwas dunkler markiert.

dann gebe ich per Tastatur ASDF ein, die hellblaue Markierung für die ganze Zelle bleibt und der neue Text "<<ASDFMERGEFIELD>>" ist dunkler markiert,

#9 ♥ 0
wpsupport

Diese selektieren des feldes bei TAB kann ich hier nicht nachvollziehen.

#8 ♥ 0

Hallo, das schützt mir jetzt das Feld, aber die Bedienung ist noch nicht so wie es sollte.

Wenn ich mit Tabulator auf das Feld springe, dann ist das gesamte MergeFeld inklusve dem <<>> selektiert.

Wenn ich nun text eingebe, dann wird der Text vorne (oder bei Shift Tab hinten) angefügt, und es bleibt immer alles selektiert - man sieht auch keinen Cursor.

Gibts da noch eine Einstellung dafür?

#7 ♥ 0
wpsupport

Statt

fEditor.ProtectedProp := [ppAllExceptForEditFields];

mal dies probieren

fEditor.ProtectedProp := [ppAllExceptForEditFields,ppIsInsertpoint,ppProtectSelectedTextToo];

Das sollte problem 3 beheben.

#6 ♥ 0

Ok das mit der Tabelle das passt dann mit der 9.2 - im Moment verhinder ich mal Tabelle in Tabelle

aber das mit dem löschen des ganzen TD Inhaltes bringe ich nicht zusammen

habe alle 4 Möglichkeiten probiert (+/+ +/- -/+ -/-) mit

    fEditor.ProtectedProp           := [ppAllExceptForEditFields];
    fEditor.EditOptions := fEditor.EditOptions + [wpDontSelectCompleteField];    // hier + und -
    fEditor.EditOptions := fEditor.EditOptions - [wpSelectCompleteFieldAlsoWhenInside]; // hier + und -

mein Editor wird per Code erzeugt und die Tabelle mit

procedure TForm20.Button2Click(Sender: TObject);
var
    table       : TParagraph;
    row         : TParagraph;
    lastCell    : TParagraph;
    fieldo      : TWPTextObj;
    r       : integer;
    c       : integer;
begin
    table   := fEditor.AddTable(1,1, TRUE);
    table   := fEditor.FindTable('');
    for r:=1 to 5 do begin
        row     := table.AppendNewRow(true);
        for c:=1 to 5 do begin
            lastCell    := row.AppendNewCell(TRUE);
            lastCell.ASet(WPAT_COLWIDTH, 1000);
            lastCell.ASetFontName('Courier New');
            lastCell.ASet(WPAT_CharFontSize, round(9.5 * 100)); // 9.5pt

            fieldo      := lastCell.AppendNewObjectPair(wpobjMergeField, 'MERGEFIELD');
            fieldo.Name := 'MERGEFIELD';
            fieldo.Mode := fieldo.Mode + [wpobjWithinEditable];
        end;
    end;
    // lastCell.ASet(WPAT_CharFontSize, round(fFieldPool[i].Font.Size * 100)); // 9.5pt

    // ShowMessage('Editor Version : '+WPToolsVersion);
end;

dann kann ich mit TAb durch die Tabelle springen und alle TD's ausleeren mit einem Klick auf die Taste, wenn ich in die TD reinklicke dann geht das nicht

#5 ♥ 0
wpsupport

Ich überleg mir was, das wird aber in die kommende 9.2 gehen.

Das automatisch selektieren kann man aber bereits abschalten

wpDontSelectCompleteField, // Selections will always wrap the complete merge field

wpSelectCompleteFieldAlsoWhenInside, // When selection inside of field also complete field is selected

#4 ♥ 0

Kann ich das anders auch noch irgendwie steuern?

Ich muss es schaffen, das ich die äusserste Tabelle nicht verändern kann, aber eine Tabelle die in einem MergedField erzeugt wird sollte bearbeitbar werden.

Vorallem, das der ganze Inhalt einer TD gelöscht werden kann wie in Punkt 3 das geht auch mit den EditOptions nicht zu verhindern.

#3 ♥ 0
wpsupport

Derzeit ist es noch erforderlich die tabellen operationen selektiv in den EditOptions und EditOptionsEx abzuschalten.

ppAllExceptForEditFields ist generell nur für Formulare ohne tabellen gedacht gewesen.

#2 ♥ 0

Hallo hätte in paar Fragen zum WPTools editor

Ich habe generell im Editor das

ProtectedProp := [ppAllExceptForEditFields];

eingestellt, um nur die Mailmerge Inhalte zu ändern

  1. Eine Tabelle die nun draußen ist, also ausserhalb eines MailMerge Fields, kann ich nun die große der Spalten ändern.
  2. Auch passiert es wenn ich mit TAB durch die Spalten springe, das mir in dieser eigentlich gesperrten Tabelle eine neue Zeile hinzugefügt wird.
  3. Wenn ich mit Tab in ein Feld springe wo ein MailMerge Field drinnen ist, dann ist die ganze Zelle markiert, und wenn ich nun eine Taste drücke, wird das ganze Mailmerge field gelöscht, was aufgrund der protectedProp ja nicht der Fall sein dürfte.
#1 ♥ 0