Aggiustati messaggi d'errore e update degli sheet
git-svn-id: svn://10.65.10.50/trunk@2817 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									a0b57e024e
								
							
						
					
					
						commit
						c9e5acad42
					
				@ -1612,8 +1612,8 @@ void TDropDownList::open()
 | 
			
		||||
  xi_get_def_rect(lstdef, &l);
 | 
			
		||||
  wr.right  = wr.left + (l.right - l.left) -1; // r.right;
 | 
			
		||||
  wr.bottom = wr.top + l.bottom - l.top;
 | 
			
		||||
  int delta_x = _xi_obj->itf->v.itf->delta_x;
 | 
			
		||||
  int delta_y = _xi_obj->itf->v.itf->delta_y;
 | 
			
		||||
  const int delta_x = _xi_obj->itf->v.itf->delta_x;
 | 
			
		||||
  const int delta_y = _xi_obj->itf->v.itf->delta_y;
 | 
			
		||||
  wr.left   -= delta_x;
 | 
			
		||||
  wr.right  -= delta_x;
 | 
			
		||||
  wr.top    -= delta_y;
 | 
			
		||||
@ -1659,7 +1659,7 @@ bool TListbox_control::event_handler(XI_OBJ* itf, XI_EVENT* xiev)
 | 
			
		||||
    case XIE_CHAR_FIELD:           
 | 
			
		||||
      {
 | 
			
		||||
        const KEY k = xiev_to_key(xiev);
 | 
			
		||||
        if (isalnum(k))
 | 
			
		||||
        if (k >= ' ' && k <= 'z')
 | 
			
		||||
          _ddl->select_by_initial(k); 
 | 
			
		||||
        else if (k == K_F9)
 | 
			
		||||
          _ddl->open();
 | 
			
		||||
 | 
			
		||||
@ -613,7 +613,7 @@ bool TMask::on_key(
 | 
			
		||||
        for (int i = fields()-1; i >= 0; i--)
 | 
			
		||||
        {
 | 
			
		||||
          TMask_field& f = fld(i);
 | 
			
		||||
          if (f.class_id() == CLASS_BUTTON_FIELD && f.active())
 | 
			
		||||
          if (f.active() && f.is_kind_of(CLASS_BUTTON_FIELD))
 | 
			
		||||
          {
 | 
			
		||||
            TButton_field& b = (TButton_field&)f;
 | 
			
		||||
            if (b.virtual_key() == key)
 | 
			
		||||
 | 
			
		||||
@ -3484,7 +3484,7 @@ const char* TList_field::win2raw(const char* data) const
 | 
			
		||||
  int pos = value.get_pos(_ctl_data._park);
 | 
			
		||||
  if (pos < 0 && _ctl_data._park.blank())
 | 
			
		||||
  {              
 | 
			
		||||
    _ctl_data._park = value.get(0);
 | 
			
		||||
    _ctl_data._park = codes.get(0);             // Uso codes come riferimento per blank
 | 
			
		||||
    if (_ctl_data._park.blank())
 | 
			
		||||
      pos = 0;
 | 
			
		||||
  }  
 | 
			
		||||
 | 
			
		||||
@ -265,7 +265,7 @@ TSpreadsheet::TSpreadsheet(
 | 
			
		||||
 | 
			
		||||
    TString testa(h);
 | 
			
		||||
    const int at = testa.find('@');
 | 
			
		||||
    int m = f->size();                             // Memory width
 | 
			
		||||
    const int m = f->size();                       // Memory width
 | 
			
		||||
    int v = m;                                     // Video width
 | 
			
		||||
    if (at >= 0)
 | 
			
		||||
    {
 | 
			
		||||
@ -285,7 +285,6 @@ TSpreadsheet::TSpreadsheet(
 | 
			
		||||
    }
 | 
			
		||||
    if (v > 69)
 | 
			
		||||
      v = 69;  
 | 
			
		||||
    m = f->size();
 | 
			
		||||
 | 
			
		||||
    m_width[i] = m+1;                                 // m = number of allowed chars
 | 
			
		||||
    v_width[i] = v+1;                                 // v = width of column
 | 
			
		||||
@ -674,7 +673,8 @@ void TSpreadsheet::update(
 | 
			
		||||
    if (scroll)
 | 
			
		||||
      xi_scroll(_obj, XI_SCROLL_FIRST);
 | 
			
		||||
    else
 | 
			
		||||
      xi_scroll_rec(_obj, handle[first], NORMAL_COLOR, XI_ATR_ENABLED | XI_ATR_AUTOSELECT, 0);
 | 
			
		||||
//      xi_scroll_rec(_obj, handle[first], NORMAL_COLOR, XI_ATR_ENABLED | XI_ATR_AUTOSELECT, 0);
 | 
			
		||||
      xi_scroll(_obj, 0);
 | 
			
		||||
      
 | 
			
		||||
    _needs_update = -1;                                 // Clear pending row update
 | 
			
		||||
  }
 | 
			
		||||
@ -1099,7 +1099,7 @@ bool TSpreadsheet::event_handler(XI_OBJ* itf, XI_EVENT *xiev)
 | 
			
		||||
            XI_MAKE_CELL(&cell, _obj, _cur_row, _cur_col);  
 | 
			
		||||
            TList_field& lst = ((TList_field&)*_edit_field);
 | 
			
		||||
                     
 | 
			
		||||
            if (k < 128 && isalnum(k))        
 | 
			
		||||
            if (k >= ' ' && k <= 'z')        
 | 
			
		||||
            {
 | 
			
		||||
              lst.select_by_initial(k);
 | 
			
		||||
              xi_set_text(&cell, (char*)lst.raw2win(lst.get()));
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,6 @@
 | 
			
		||||
#include <scanner.h>
 | 
			
		||||
#include <utility.h>
 | 
			
		||||
 | 
			
		||||
#include <lffiles.h> 
 | 
			
		||||
#include <codeb.h>
 | 
			
		||||
 | 
			
		||||
extern int get_error(int);
 | 
			
		||||
@ -122,7 +121,7 @@ HIDDEN int closeall(bool changestudy, TBit_array& excl, TBit_array& toclose)
 | 
			
		||||
      d.get(i + 1, _nolock, _nordir, _sysdirop);
 | 
			
		||||
      if (toclose[i + 1] || changestudy || !d.is_com())
 | 
			
		||||
      {
 | 
			
		||||
        excl.set(i, DB_file_locked(isfd->fhnd) == _excllock);
 | 
			
		||||
        excl.set(i, DB_file_locked(isfd->fhnd) != 0);
 | 
			
		||||
        err=DB_close(isfd->fhnd);
 | 
			
		||||
        if (err != NOERR) err=get_error(err);
 | 
			
		||||
        if (err != NOERR) fatal_box("Can't close file %d. Error n. %d",isfd->ln,err);
 | 
			
		||||
@ -168,7 +167,7 @@ HIDDEN void openall(bool changestudy, TBit_array& excl, int oldmax, TBit_array&
 | 
			
		||||
        *isfd->r = *r.rec();
 | 
			
		||||
        if (excllock(CInsPref((char*) glockname, NORDIR), FALSE) == -1 && errno == EACCES)
 | 
			
		||||
          fatal_box("Can't reopen file n. %d : file in use", i + 1);
 | 
			
		||||
        isfd->fhnd = DB_open(isfd->d->SysName,excl[i]==_excllock);
 | 
			
		||||
        isfd->fhnd = DB_open(isfd->d->SysName, excl[i]);
 | 
			
		||||
        if (isfd->fhnd < 0 ) err=get_error(isfd->fhnd);
 | 
			
		||||
        else err = NOERR;
 | 
			
		||||
        if (err == _islocked)   
 | 
			
		||||
 | 
			
		||||
@ -111,23 +111,6 @@ void TIndwin::update_bar()
 | 
			
		||||
 | 
			
		||||
  const int width = r.right - r.left;
 | 
			
		||||
  RCT b = r;
 | 
			
		||||
  set_pen(COLOR_BLACK);
 | 
			
		||||
 | 
			
		||||
/*  
 | 
			
		||||
  set_brush(COLOR_BLUE);
 | 
			
		||||
  b.right = b.left + int(width*prc);
 | 
			
		||||
  xvt_dwin_draw_rect(win(), &b);
 | 
			
		||||
 | 
			
		||||
  set_brush(COLOR_WHITE);
 | 
			
		||||
  b.left = b.right; b.right = r.right;
 | 
			
		||||
  xvt_dwin_draw_rect(win(), &b);
 | 
			
		||||
  
 | 
			
		||||
  set_mode(M_XOR);
 | 
			
		||||
  xvt_dwin_set_fore_color(win(), COLOR_BLUE);
 | 
			
		||||
  char n[8]; sprintf(n, "%d%%", int(100*prc));                               
 | 
			
		||||
  xvt_dwin_draw_text(win(), r.left+width/2-CHARX, (r.bottom+r.top+CHARY)/2-3, n, -1);
 | 
			
		||||
  set_mode(M_COPY);
 | 
			
		||||
*/  
 | 
			
		||||
 | 
			
		||||
  WINDOW w = win();
 | 
			
		||||
  b.right = b.left + int(width*prc);
 | 
			
		||||
@ -135,7 +118,7 @@ void TIndwin::update_bar()
 | 
			
		||||
  
 | 
			
		||||
  set_brush(COLOR_WHITE);
 | 
			
		||||
  b.left = b.right; b.right = r.right;
 | 
			
		||||
  xvt_dwin_draw_rect(w, &b);
 | 
			
		||||
  xi_draw_3d_rect(w, &b, TRUE, 2, 0, 0, 0);
 | 
			
		||||
  
 | 
			
		||||
  char n[8]; sprintf(n, "%d%%", int(100*prc));                               
 | 
			
		||||
  xvt_dwin_draw_text(w, r.left+width/2-CHARX, (r.bottom+r.top+CHARY)/2-3, n, -1);
 | 
			
		||||
 | 
			
		||||
@ -309,7 +309,6 @@ void TSheet_control::update(long n)
 | 
			
		||||
      xi_scroll(_obj, XI_SCROLL_FIRST);
 | 
			
		||||
    else
 | 
			
		||||
      xi_scroll(_obj, 0);
 | 
			
		||||
//      xi_scroll_rec(_obj, n, FOCUS_COLOR, XI_ATR_ENABLED, 0);
 | 
			
		||||
  }  
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -2,24 +2,24 @@ BUTTON DLG_SAVEREC 10 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT -16 -1 "~Registra"
 | 
			
		||||
  MESSAGE EXIT,K_SAVE
 | 
			
		||||
  PICTURE 103 
 | 
			
		||||
  PICTURE 153
 | 
			
		||||
  PICTURE BMP_SAVEREC
 | 
			
		||||
  PICTURE BMP_SAVERECDN
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_NEWREC 10 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT -26 -1 "~Nuovo"
 | 
			
		||||
  MESSAGE EXIT,K_INS
 | 
			
		||||
  PICTURE 105
 | 
			
		||||
  PICTURE 155
 | 
			
		||||
  PICTURE BMP_NEWREC
 | 
			
		||||
  PICTURE BMP_NEWRECDN
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_DELREC 10 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT -36 -1 "~Elimina"
 | 
			
		||||
  MESSAGE EXIT,K_DEL
 | 
			
		||||
  PICTURE 104
 | 
			
		||||
  PICTURE 154
 | 
			
		||||
  PICTURE BMP_DELREC
 | 
			
		||||
  PICTURE BMP_DELRECDN
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_FINDREC 10 2
 | 
			
		||||
@ -40,7 +40,7 @@ BUTTON DLG_QUIT 10 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT -66 -1 "~Fine"
 | 
			
		||||
  MESSAGE EXIT,K_QUIT
 | 
			
		||||
  PICTURE 114
 | 
			
		||||
  PICTURE 164
 | 
			
		||||
  PICTURE BMP_QUIT
 | 
			
		||||
  PICTURE BMP_QUITDN
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
#include <lffiles.h>
 | 
			
		||||
#include <defmask.h>
 | 
			
		||||
#include <keys.h>
 | 
			
		||||
#include <lffiles.h>
 | 
			
		||||
#include <tokens.h>
 | 
			
		||||
#include <urldefid.h>
 | 
			
		||||
 | 
			
		||||
#define FALSE 0
 | 
			
		||||
#define TRUE 1
 | 
			
		||||
 | 
			
		||||
@ -27,6 +27,7 @@ BOOLEAN error_hook(XVT_ERRMSG err, DATA_PTR)
 | 
			
		||||
 | 
			
		||||
#define STRICT
 | 
			
		||||
#include <windows.h>
 | 
			
		||||
#include <ctl3d.h>
 | 
			
		||||
 | 
			
		||||
extern "C" {
 | 
			
		||||
  WINDOW xvtwi_hwnd_to_window(HWND);
 | 
			
		||||
@ -111,14 +112,18 @@ static BOOLEAN event_hook(HWND hwnd,
 | 
			
		||||
{
 | 
			
		||||
  switch(msg)     
 | 
			
		||||
  {            
 | 
			
		||||
  case WM_SYSCOLORCHANGE:
 | 
			
		||||
    Ctl3dColorChange();
 | 
			
		||||
    break;
 | 
			
		||||
  case WM_MENUCHAR:
 | 
			
		||||
    if (wparam >= 'A' && wparam <= 'z')
 | 
			
		||||
    {
 | 
			
		||||
      WINDOW w = cur_win();
 | 
			
		||||
      if (w != NULL_WIN)
 | 
			
		||||
      WINDOW win = cur_win();
 | 
			
		||||
      if (win != NULL_WIN)
 | 
			
		||||
      {      
 | 
			
		||||
        TWindow* w = (TWindow*)xvt_vobj_get_data(win);
 | 
			
		||||
        const KEY key = toupper(wparam)+K_CTRL;
 | 
			
		||||
        dispatch_e_char(w, key);
 | 
			
		||||
        w->on_key(key);
 | 
			
		||||
      }  
 | 
			
		||||
    }   
 | 
			
		||||
    break;  
 | 
			
		||||
@ -496,12 +501,20 @@ void customize_controls(
 | 
			
		||||
    xvt_vobj_set_attr(NULL_WIN,ATTR_EVENT_HOOK, (long)event_hook); 
 | 
			
		||||
    xvt_vobj_set_attr(NULL_WIN,ATTR_ERRMSG_HANDLER, (long)error_hook);
 | 
			
		||||
    allow_another_instance();
 | 
			
		||||
    
 | 
			
		||||
    HINSTANCE hInstance = (HINSTANCE)xvt_vobj_get_attr(NULL_WIN, ATTR_WIN_INSTANCE);
 | 
			
		||||
    Ctl3dRegister(hInstance);
 | 
			
		||||
    Ctl3dAutoSubclass(hInstance);
 | 
			
		||||
#endif    
 | 
			
		||||
    customize_colors();
 | 
			
		||||
    init_controls();
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {       
 | 
			
		||||
#if XVT_OS == XVT_OS_WIN
 | 
			
		||||
    HINSTANCE _hInstance = (HINSTANCE)xvt_vobj_get_attr(NULL_WIN, ATTR_WIN_INSTANCE);
 | 
			
		||||
    Ctl3dUnregister(_hInstance);
 | 
			
		||||
#endif      
 | 
			
		||||
    free_controls();
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user