Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Consulta: scrolled_window y copy - paste

Estas en el tema de Consulta: scrolled_window y copy - paste en el foro de C/C++ en Foros del Web. Buenas Soy estudiante de Ing. Electrica y tengo que crear una interfaz grafica para un procesador de 8 y 32 bits, para lo cual debo ...
  #1 (permalink)  
Antiguo 28/04/2009, 18:26
 
Fecha de Ingreso: abril-2009
Mensajes: 1
Antigüedad: 15 años
Puntos: 0
Consulta: scrolled_window y copy - paste

Buenas
Soy estudiante de Ing. Electrica y tengo que crear una interfaz grafica para un procesador de 8 y 32 bits, para lo cual debo usar C++ con librerias GTK. las cuales eran hasta antes de marzo de este año desconocidas para mi, pero he tenido que adaptarme y he tenido algunos problemas con la ventana de scroll (gtk_scrolled_window_new()) y con los editables copy y paste, por lo que ocupo ayuda para resolver esto pues aun los ejemplos que tengo de Internet no me corren de manera adecuada ni en Windows (Dev-C++) ni en Ubuntu... Puedo crear sin problemas ventanas, cajas, tablas, botones, textos (en linux no me corren los textos) menus, barras de desplazamiento, etiquetas, etc... pero no he logrado conectar algun elemento de la barra de herramientas a señales como copy o paste del tipo:

gtk_editable_copy_clipboard (GtkEditable *editable) ;
gtk_signal_connect_object(GTK_OBJECT(copy_item), "activate", GTK_SIGNAL_FUNC(click_copiar), NULL);

Pues el programa se me cierra inesperadamente....
Tambien, si alguien tiene un ejemplo bien hecho de una ventana de scroll (los ajustes me funcionan bien pues me sirven para las barras de desplazamiento) se los agradeceria mucho. Si ocupan alguna parte de mi codigo (por ahora es completamente estructural) me avisan y yo les envio la parte con conflictos!!!


De antemano, muchas gracias!!!!
  #2 (permalink)  
Antiguo 28/04/2009, 22:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Consulta: scrolled_window y copy - paste

Tema trasladado desde PHP-GTK
  #3 (permalink)  
Antiguo 30/04/2009, 12:31
 
Fecha de Ingreso: abril-2009
Mensajes: 4
Antigüedad: 15 años
Puntos: 0
Respuesta: Consulta: scrolled_window y copy - paste

Aqui tienes un ejemplo de como usar la scrolled window. Has de meterlo en un viewpor, es lo mas importante que te puedo decir. Y que para que se vean las barras de desplazamiento, han de estar en una ventana en la que el widget no quepa entero. si cabe, no se ven as barras.

Yo empecé a programar hace cosa de 3 meses. He acabado mi proyecto y estoy empezando a documentarlo. Espero que esto te sirva de ayuda. Yo lo he hecho todo con las GTK usando el code_blocks, un ide muy muy recomendable. Lo que pasa es que ahora estoy gastando las librerias GDK y en windows usando el codeblocks no me compila, me da muchos "undefined reference to...". Por suerte el programa debe ser para linux, y allí el mismo codigo usando el mismo coeblocks me da 0 errores y 0 warnings.

Bueno, aqui tienes lo tuyo, compila con 0 errores y 0 warnings. Para culquier cosa, agregame a psaval . @ . hotmail.com (borra los puntos anteriores y finales a la arroba):

Código:
#include <stdlib.h>
#include <gtk/gtk.h>

int main (int argc, char *argv[])
{
  GtkWidget *win = NULL;
  GtkWidget *vbox = NULL;
  GtkWidget *draw, *frame, *scrolled_window, *label = NULL;

  gtk_init (&argc, &argv);
  win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_container_set_border_width (GTK_CONTAINER (win), 8);
  gtk_window_set_title (GTK_WINDOW (win), "Hello World");
  gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER);
  gtk_window_set_default_size( GTK_WINDOW( win ), 400, 300 );
  gtk_widget_realize (win);
  g_signal_connect (win, "destroy", gtk_main_quit, NULL);

  scrolled_window = gtk_scrolled_window_new (NULL, NULL);
  gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 10);
  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
                                    GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
  frame = gtk_frame_new( "Frame 1" );
  label = gtk_label_new ("Temp 1");

  draw = gtk_drawing_area_new();
  gtk_drawing_area_size (GTK_DRAWING_AREA (draw), (600), 400);
  gtk_scrolled_window_add_with_viewport (
                   GTK_SCROLLED_WINDOW (scrolled_window), draw);
  gtk_container_add( GTK_CONTAINER( frame ), scrolled_window );

  vbox = gtk_vbox_new (TRUE, 6);
  gtk_container_add (GTK_CONTAINER (win), vbox);
  gtk_container_add( GTK_CONTAINER( vbox ), frame );

  /* Enter the main loop */
  gtk_widget_show_all (win);
  gtk_main ();
  return 0;
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:52.