示例#1
0
static int OnObjectNotify(void *w, int obj)
{
  GEM_WINDOW           *wnd = (GEM_WINDOW *) w ;
  WEXTENSION_LDVDETAIL *wext = wnd->DlgData->UserData ;
  WDLG_LDVDETAIL       *wdlg = wnd->Extension ;
  OBJECT               *bobj = wnd->DlgData->BaseObject ;
  int                  i, off_x, off_y, code = -1 ;

  switch( obj )
  {
     case LDVD_NPLANES : objc_offset( bobj, obj, &off_x, &off_y ) ;
                         i = popup_formdo( &wdlg->popup_nplanes, off_x, off_y, wext->inplanes, -1 ) ;
                         if ( i > 0 ) wext->inplanes = i ;
                         write_text( bobj, obj, wdlg->popup_nplanes[wext->inplanes].ob_spec.free_string ) ;
                         setup_details( wnd, 1 ) ;
                         deselect( bobj, obj ) ;
                         xobjc_draw( wnd->window_handle, bobj, obj ) ;
                         break ;

     case LDVD_CLOSE   : code = IDCANCEL ;
                         break ;
  }

  if ( code == IDOK )
  {

  }

  return( code ) ;
}
void
bastile_gkr_item_properties_show (BastileGkrItem *git, GtkWindow *parent)
{
    BastileObject *object = BASTILE_OBJECT (git);
    BastileWidget *swidget = NULL;
    GtkWidget *widget;

    swidget = bastile_object_widget_new ("gkr-item-properties", parent, object);
    
    /* This happens if the window is already open */
    if (swidget == NULL)
        return;

    bastile_object_refresh (object);

    widget = GTK_WIDGET (bastile_widget_get_widget (swidget, swidget->name));
    g_signal_connect (widget, "response", G_CALLBACK (properties_response), swidget);

    /* 
     * The signals don't need to keep getting connected. Everytime a key changes the
     * do_* functions get called. Therefore, seperate functions connect the signals
     * have been created
     */

    setup_main (swidget);
    setup_details (swidget);
    setup_application (swidget);
    
    widget = bastile_widget_get_widget (swidget, "application-list");
    g_return_if_fail (GTK_IS_TREE_VIEW (widget));
    
    g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)), "changed", 
                      G_CALLBACK (application_selection_changed), swidget);
}
示例#3
0
static void OnInitDialog(void *w)
{
  GEM_WINDOW           *wnd = (GEM_WINDOW *) w ;
  WEXTENSION_LDVDETAIL *wext = wnd->DlgData->UserData ;
  LDV_MODULE           *ldv = wext->LdvModule ;
  LDV_INFOS            *ldv_infos = &ldv->Infos ;
  LDV_INI_SPEC         *ldv_lspec = &ldv->IniSpec ;
  WDLG_LDVDETAIL       *wdlg = wnd->Extension ;
  OBJECT               *bobj = wnd->DlgData->BaseObject ;
  TEDINFO              *ted ;
  int                  i, nb_nplanes = (int) ( sizeof(nplanes)/sizeof(char) ) ;
  char                 buf[100] ;
  char                 *pt, c ;

  wdlg->popup_nplanes = popup_make( nb_nplanes, 6 ) ;
  if ( wdlg->popup_nplanes == NULL ) return ;

  wext->inplanes = -1 ;
  for ( i = 0; i < nb_nplanes; i++ )
  {
    sprintf( wdlg->popup_nplanes[1+i].ob_spec.free_string, "  %d ", nplanes[i] ) ;
    if ( LDVGetNPlanesCaps( wext->LdvModule, nplanes[i] ) == NULL ) wdlg->popup_nplanes[1+i].ob_state |= DISABLED ;
    else if ( wext->inplanes < 0 ) wext->inplanes = i+1 ;
  }

  if ( wext->inplanes >= 0 ) write_text( bobj, LDVD_NPLANES, wdlg->popup_nplanes[wext->inplanes].ob_spec.free_string ) ;

  write_text( bobj, LDVD_LONGNAME, ldv_lspec->LongName ) ;
  sprintf( buf, "%d", ldv_infos->Type ) ;
  write_text( bobj, LDVD_TYPE, buf ) ;
  sprintf( buf, "%02x.%02x", (ldv->Version & 0xFF00) >> 8, ldv->Version & 0x00FF ) ;
  write_text( bobj, LDVD_VERSION, buf ) ;
  write_text( bobj, LDVD_AUTHORS, ldv_infos->Authors ) ;
  ted = bobj[LDVD_DESC1].ob_spec.tedinfo ;
  if ( ldv_lspec->Description && ( strlen( ldv_lspec->Description ) > ted->te_txtlen ) )
  {
    pt = ldv_lspec->Description + ted->te_txtlen - 1 ;
    while ( ( pt > ldv_lspec->Description ) && ( *pt != ' ' ) ) pt-- ;
    if ( pt == ldv_lspec->Description ) pt = ldv_lspec->Description + ted->te_txtlen ;
    c   = *pt ;
    *pt = 0 ;
    write_text( bobj, LDVD_DESC1, ldv_lspec->Description ) ;
    *pt = c ;
    if ( c == ' ' ) write_text( bobj, LDVD_DESC2, 1+pt ) ;
    else            write_text( bobj, LDVD_DESC2, pt ) ;
  }
  else
  {
    write_text( bobj, LDVD_DESC1, ldv_lspec->Description ) ;
    write_text( bobj, LDVD_DESC2, "" ) ;
  }

  GetLDVLanguages( ldv, buf ) ;
  write_text( bobj, LDVD_LANGUAGES, buf ) ;
  write_text( bobj, LDVD_FILENAME, wext->LdvModule->FileName ) ;

  setup_details( wnd, 0 ) ;
}