txtfield

Модуль для создания текстовых полей.

автор: watt

txtfield.LoadFont(filename)

Загружает свой шрифт в систему, возвращает идентификатор шрифта.

Note

если возвращаемое значение == 0, шрифт не будет удален и останется висеть в системе до следующей перезагрузки.

Note

НЕ используйте шрифты с внутреними именами равными системным (шрифт будет “виден” из любой программы)

>>> txtfield.LoadFont(u'e:\\myfont.gdr')
txtfield.RemoveFont(id)
Parameters

id – идентификатор шрифта из функции ;py:meth:LoadFont()

Выгружает шрифт из системы

txtfield.ShadowVector(x, y)

Установливает вектор тени.

>>> txtfield.ShadowVector(-1,3)
class txtfield.New((rect)[, strlimit=0, txtlimit=0, cornertype= ECornerSquare, cornerflag=None, editorflag=None, picalign=EPicBaseLine, callback=None])
Parameters
  • rect – (x1, y1, x2, y2) координаты окна

  • strlimit – допустимое количество строк

  • txtlimit – максимальное количество символов

  • cornertype

    скругление углов

    • txtfield.ECornerSquare

    • txtfield.ECorner1

    • txtfield.ECorner2

    • txtfield.ECorner5

  • cornerflag

    какие углы не скруглять

    • txtfield.ENotTL - верхний-левый

    • txtfield.ENotTR - верхний-правый

    • txtfield.ENotBL - нижний-левый

    • txtfield.ENotBR - нижний-правый

  • editorflag

    • txtfield.EDisplayOnly - не реагирует на действия пользователя

    • txtfield.EAlwaysShowSelection - при смене фокуса выделение не снимается

    • txtfield.EReadOnly - только для чтения

    • txtfield.ENoLineBreaks - не допускает переноса строки

    • txtfield.EDisableCursor - скрывает курсор

    • txtfield.picalign - выравнивание картинки относительно текста:

    • txtfield.EPicBaseLine - по линии текста

    • txtfield.EPicBottom - по низу

    • txtfield.EPicCentered - по центру

    • txtfield.EPicTop - по верху

  • callback – обработчик, в которую передается -1 после изменения, 0-навигация, и сканкод клавиши после EEventKeyDown

Данный класс создает текстовое поле.

>>> txt1 = txtfield.New(
        (20,120,156,200),
        cornertype = txtfield.ECorner2,
        cornerflag = txtfield.ENotTL | txtfield.ENotBR,
        editorflag = txtfield.EAlwaysShowSelection | txtfield.EReadOnly)
>>> txt2 = txtfield.New((20,120,156,200))
New._set(c)

Вроде устанавливает скорость прокрутки

New.add(text[, select=0])
Parameters
  • text – тектс

  • select – 0|1 вставить с выделение

Добавляет текст с текущей позиции курсора

New.align(Alignment)

Выравнивание текста

  • txtfield.ELeftAlign - по левому краю

  • txtfield.ETopAlign - по верху

  • txtfield.ECenterAlign - по центру

  • txtfield.ERightAlign - по правому краю

  • txtfield.EBottomAlign - по низу

  • txtfield.EJustifiedAlign

  • txtfield.EUnspecifiedAlign - без выравнивания

New.bgcolor(color)

Установить цвет фона в hex формате

>>> txt1.bgcolor(0x88bb33)
New.clear([pos, len])

Очистить текст

New.clipboard(True|False)

Если True - вставить из буфера, если False - скопировать в буфер выделенный текст

New.focus(True|False)

Установить-снять фокус окна

New.get()

Получить текст окна, возвращает юникод строку.

New.info()

Возвращает кортеж: (len,position,isvisible,isfocus,piccount,wordcount,strcount,linepos)

  • len - длинну текста

  • position - текущую позицию курсора

  • isvisible - True-если окно видно или False если нет

  • isfocus - True-если окно в фокусе или False если нет

  • piccount - количество картинок

  • wordcount - количество слов

  • strcount - количество строк

  • linepos - номер текущей строки

New.input_mode(mode)
Parameters

mode

  • txtfield.NumericInputMode=2,

  • txtfield.TextInputMode=1

Установить режим ввода

>>> txt1.input_mode(txtfield.NumericInputMode)
>>> txt2.input_mode(2)
New.move(MovementType[, pix=20])
Parameters
  • MovementType

    • txtfield.EFLeft - слево на право

    • txtfield.EFRight - справо на лево

    • txtfield.EFLineUp - текст на строку вниз

    • txtfield.EFLineDown - текст на строку вверх

    • txtfield.EFPageUp - страница вверх

    • txtfield.EFPageDown - страница вниз

  • pix – на сколько пикселей перемещать текст при горизонтальной прокрутке.

Перемещение текста

New.set_border(width, color)
Parameters
  • width – ширина

  • color (hex) – цвет

Установить бордюр

New.set_interval(twips)

Установить расстояние между строками

New.set_margin(LeftMargin, RightMargin)

Установить левый и правый отступ

New.select(start, end)

Выделить текст

New.setcursor(pos)

Установить курсор в позицию

New.setimg(img, pos, rect)
Parameters
  • img (graphics.Image) – изображение

  • pos – позиция установки

  • rect ((x, y)) – размер изображения

Вставляет картинку в поле

New.setpos(x, y)

Установить новую позицию окна

New.setsize(x, y)

Установить новый размер окна

New.shadow(size)

Добавить тень к окну в размер size

New.textstyle(name[, size, color, style=u"Normal"])
Parameters
  • name – название шрифта

  • size – размер шрифта

  • color (hex) – цвет шрифта

  • style – стиль шрифта, (normal, bold, italic, italic-bold)

>>> txt1.textstyle(name=u'Nokia Sans S60', size=130, color=0x119922, style=u'bold')
>>> txt2.textstyle(u'Nokia Sans S60', 130, 0x119922, u'bold')
New.visible(True|False)

Показать-спрятать окно

New.z_index(index)

Переместить поле наверх или вниз(в зависимости от индекса других полей), значение index: 0-100