Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Petición de ayuda sobre TextEdit.
#21

Cita:¿No seria factible hacer un control heredando textedit con la característica del click derecho?
Pues no sé... pero creo que lo he resuelto, casi por completo.

Al fin se comporta como yo quiero. El código queda mucho más simple, claro, con muletas es fácil. El asunto es que dentro del textedit lo que se comporta como yo quiero es el Doble Click, que cambia el cursor y luego selecciona la palabra. Vale, pues hagamos que el xdotool simule un doble click, no un click derecho.
y Voilà: funciona.
GAMBAS
  1. Public Sub TxtEdit_MouseDown()
  2.  
  3.             Exec ["xdotool", "click", "--repeat", "2", "--delay", "1", "1"] Wait
  4.             Stop Event
  5.     Endif
  6.  



Sólo falta que amigo Vuott, Consul ad honorem causa per externum biblitecorum, se anime a explorar la librería y nos podamos librar del Exec demoniorum.
(Es broma mi Consul, las tareas propias de tu cargo no dan tiempo para estas tonterías)

Creo que es la primera vez en mi vida de programador que me baso en una utilidad externa... pero claro, con mi memoria de pez, lo mismo eso es mentira. Ahora si queréis que esto os funcione, tendréis que instalar la utilidad esta. Se la colocaré en las dependencias y si generáis un paquete .deb la utilidad se instalará sola como dependencia... pero creo que pocos de vosotros trabajáis convirtiendo vuestros proyectos a ejecutables instalados. Yo lo hago por una razón sola: Si manejas un ejecutable instalado puedes controlar vía comando pgrep, cuántas instancias del programa hay abiertas y operar en consecuencia.

En fin. Gracias por vuestro interés y vuestros esfuezos. Habéis sacado al zombie jubileta del sarcófago y ahora me paseo por aquí incansable, como en los viejos tiempos... Big Grin Big Grin Big Grin Big Grin

No podemos regresar
    ¡Gracias!
#22

(07-06-2021, 19:09)Shordi escribió:  En fin. Gracias por vuestro interés y vuestros esfuezos. Habéis sacado al zombie jubileta del sarcófago y ahora me paseo por aquí incansable, como en los viejos tiempos... Big Grin Big Grin Big Grin
Bueno, me alegro que ya estés en velocidad crucero.
Ya que estamos, te cuento, estoy poniendo a prueba tradukisto con soprano, y he hecho 3 revisiones del código ya Smile
Por un lado sucede que soprano tiene muchas oraciones a traducir y al ser en español aumentan los caracteres a es %e1 (creo) porque al enviar el texto al google translator o deepl esta limitado a 5000 caracteres así que, primera revisión , limitar los caracteres, segunda revisión aparecen caracteres ASCII menores de 32, carácter nulo etc. eso también me colgaba el programa, ahí la revisión 3 tiene relación a otros asuntos.
Saludos.
    ¡Gracias!
#23

(07-06-2021, 17:27)Shordi escribió:  que me ayudase a manejar la librería libxdo3 directamente...

Confused  No conozco esta libreria, tengo que estudiarla. Shy

"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)

"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
    ¡Gracias!
#24

(07-06-2021, 20:14)tincho escribió:  
(07-06-2021, 19:09)Shordi escribió:  En fin. Gracias por vuestro interés y vuestros esfuezos. Habéis sacado al zombie jubileta del sarcófago y ahora me paseo por aquí incansable, como en los viejos tiempos... Big Grin Big Grin Big Grin
Bueno, me alegro que ya estés en velocidad crucero.
Ya que estamos, te cuento, estoy poniendo a prueba tradukisto con soprano, y he hecho 3 revisiones del código ya
Por un lado sucede que soprano tiene muchas oraciones a traducir y al ser en español aumentan los caracteres a es %e1 (creo) porque al enviar el texto al google translator o deepl esta limitado a 5000 caracteres así que, primera revisión , limitar los caracteres, segunda revisión aparecen caracteres ASCII menores de 32, carácter nulo etc. eso también me colgaba el programa, ahí la revisión 3 tiene relación a otros asuntos.
Saludos.

¡Buff! Me abrumas... Yo quiero añadir el código del botón derecho de ayer... ¿Lo subo y ya? ¿o primero hay que añadir tus cambios?
No tengo muy claros aún los conceptos de git, me temo. Si tú modificas cosas que no me gustan pero otras sí ¿cómo lo haría? ¿Si hago un merge es cronológico, primeros cambios primeros, o puedo seleccionar?  Mmmmm... perro viejo, trucos nuevos.... Tongue Tongue

Sería todo un avance, supongo. El Exec lleva casi 4 décimas de segundo, lo que supone un montón comparado con las otras operaciones. Supongo que el manejo de la librería directamente sería mucho más rápido. No sé, nunca he hecho una comparativa con estas cosas.

Ave Consul codificanturi salutant

Saludo

No podemos regresar
    ¡Gracias!
#25

(08-06-2021, 09:07)Shordi escribió:  ¡Buff! Me abrumas... Yo quiero añadir el código del botón derecho de ayer... ¿Lo subo y ya? ¿o primero hay que añadir tus cambios?
Tu sube siempre tus cambios, el repo es tuyo y eres el único que puede escribir allí ademas.
La "merge request" que te envié cancelala o no hagas nada en absoluto con ella y listo no pasa nada puedo crear otra luego, no te preocupes. Smile
Al principio usar estas cosas es algo exasperante pero poco a poco se aprenden a manejar.
Saludos.

(08-06-2021, 09:07)Shordi escribió:  No tengo muy claros aún los conceptos de git, me temo. Si tú modificas cosas que no me gustan pero otras sí ¿cómo lo haría?
En ese caso hay que hacer los cambios a mano, te descargas el código "forkeado", de mi repo por ejemplo, y manualmente copias de un lado a otro.

(08-06-2021, 09:07)Shordi escribió:  ¿Si hago un merge es cronológico, primeros cambios primeros, o puedo seleccionar? 
Esta pregunta no la comprendo bien.
Por ejemplo, yo de momento te propuse solo un merge y si te propusiera un segundo, lo que deseas saber es si puedes aplicar el mas reciente y descartar el anterior, si es eso, si que se puede hacer.
Luego, hablando en  la linea temporal, si tu por ejemplo haces cambios y hoy y existe un merge mio de ayer quieres saber que se aplica primero? bien la respuesta es lo que tu apliques primero.
Siempre existirá un desfajase "manejable" de la informacion, y como todo lo que uno hace en equipo, es un dialogo constante. Por ejemplo En GauchoCAD al principio era muy caótico y había mucha superposición de código, y con el tiempo fuimos aprendiendo, no solo a usar github, sino a trabajar en equipo.
Por lo general todos en el foro somos programadores solitarios, hacemos nuestros programas y los publicamos (algunos usuarios no publican nada), así que trabajar con github en equipo supone un reto técnico y humano, pero puedo decir que merece el esfuerzo pues es muy enriquecedor técnicamente y humanamente.
Saludos.
    ¡Gracias!
#26

Oído cocina... Investigating mode on...

No podemos regresar
    ¡Gracias!
#27

Un pequeño paso más: dos o más líneas de texto, siempre que no aparezcan las "ScrollBar" de la TextEdit. Por eso el ancho del Textedit debe ser apropiado.

GAMBAS
  1.  
  2. Public Sub Form_Open()
  3.  
  4.   m = New Menu(Me)
  5.   m.Name = "vacio"
  6.   TextEdit1.PopupMenu = m.Name
  7.   TextEdit1.Text = "Tityre, tu patulae recubans sub tegmine fagi\n"
  8.   "silvestrem tenui musam meditaris avena;\n"
  9.   "nos patriae finis et dulcia linquimus arva;\n"
  10.   "nos patriam fugimus; tu, Tityre, lentus in umbra,\n"
  11.   "formosam resonare doces Amaryllida silvas."
  12.  
  13.  
  14. Public Sub TextEdit1_MouseDown()
  15.  
  16.   Dim c, lin As Short
  17.   Dim nn As New Byte[]
  18.   Dim ss As String[]
  19.   
  20.   For c = 1 To Len(TextEdit1.Text)
  21.     If Mid(TextEdit1.Text, c, 1) = "\n" Then nn.Push(c)
  22.   Next
  23.   ss = Split(TextEdit1.Text, "\n", Null)
  24.  
  25. ' Para situar el cursor en la línea de texto con el botón derecho del ratón:
  26.     lin = Round(Mouse.Y / TextEdit1.Font.TextHeight("A"))
  27.     If (lin) == 1 Then 
  28.       For c = 1 To Len(TextEdit1.Text)
  29.         If TextEdit1.Font.TextWidth(String.Left(TextEdit1.Text, c)) > Mouse.X Then
  30.           TextEdit1.Pos = (c - 1) 
  31.           Exit
  32.         Else
  33.           TextEdit1.Pos = Len(TextEdit1.Text)
  34.         Endif
  35.       Next
  36.     Else
  37.       For c = 1 To Len(ss[lin - 1])
  38.         If TextEdit1.Font.TextWidth(String.Left(ss[lin - 1], c)) > Mouse.X Then
  39.           TextEdit1.Pos = (c - 1) + nn[lin - 2]
  40.           Exit
  41.         Endif
  42.       Next
  43.     Endif
  44.  



"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)

"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
    ¡Gracias!
#28

Cita:Un pequeño paso más: dos o más líneas de texto, siempre que no aparezcan las "ScrollBar" de la TextEdit. Por eso el ancho del Textedit debe ser apropiado.
Muchas Gracias, Cónsul, pero creo que me voy a rendir. Llevo más de una semana con ésto y no he avanzado nada.
La utilidad de xdotool funciona muy bien... pero interactúa mal con qt5, me temo... o no.
El problema es que si lanzas un doble click, se ejecuta dos veces seguidas el evento mousedown y eso, a la hora de pasar la revisión ortográfica y demás, es un problema en sí mismo.
Lo dejaré como lo tenía, primero click izquierdo y luego click derecho y que los dioses decidan.

Saludos.

No podemos regresar
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 2 invitado(s)