Aggiunto campo browsefile alle maschere
git-svn-id: svn://10.65.10.50/trunk@681 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
af8011c9d1
commit
91f21eef2a
@ -8,12 +8,13 @@ BEGIN
|
|||||||
HELP "Codice della ditta da attivare"
|
HELP "Codice della ditta da attivare"
|
||||||
FLAGS "FR"
|
FLAGS "FR"
|
||||||
USE LF_NDITTE KEY 1
|
USE LF_NDITTE KEY 1
|
||||||
CHECKTYPE NORMAL
|
|
||||||
INPUT CODDITTA F_CODDITTA
|
INPUT CODDITTA F_CODDITTA
|
||||||
DISPLAY "Codice" CODDITTA
|
DISPLAY "Codice" CODDITTA
|
||||||
DISPLAY "Ragione sociale@50" RAGSOC
|
DISPLAY "Ragione sociale@50" RAGSOC
|
||||||
OUTPUT F_CODDITTA CODDITTA
|
OUTPUT F_CODDITTA CODDITTA
|
||||||
OUTPUT F_RAGSOC RAGSOC
|
OUTPUT F_RAGSOC RAGSOC
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
WARNING "Ditta assente"
|
||||||
KEY 1
|
KEY 1
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
28
include/browfile.h
Executable file
28
include/browfile.h
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#ifndef __BROWFILE_H
|
||||||
|
#define __BROWFILE_H
|
||||||
|
|
||||||
|
#ifndef __SCANNER_H
|
||||||
|
#include <scanner.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
class TViswin;
|
||||||
|
|
||||||
|
class TBrowsefile_field : public TMask_field
|
||||||
|
{
|
||||||
|
TViswin* _viswin;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual word class_id() const;
|
||||||
|
|
||||||
|
virtual void parse_head(TScanner& scanner);
|
||||||
|
virtual bool parse_item(TScanner& scanner);
|
||||||
|
virtual void create(WINDOW parent);
|
||||||
|
|
||||||
|
public:
|
||||||
|
TViswin* vis_win() const { return _viswin; }
|
||||||
|
|
||||||
|
TBrowsefile_field(TMask* m);
|
||||||
|
virtual ~TBrowsefile_field();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
@ -29,11 +29,12 @@
|
|||||||
#define CLASS_EDIT_FIELD 21
|
#define CLASS_EDIT_FIELD 21
|
||||||
#define CLASS_REAL_FIELD 22
|
#define CLASS_REAL_FIELD 22
|
||||||
#define CLASS_DATE_FIELD 23
|
#define CLASS_DATE_FIELD 23
|
||||||
#define CLASS_BOOLEAN_FIELD 30
|
#define CLASS_BOOLEAN_FIELD 24
|
||||||
#define CLASS_LIST_FIELD 31
|
#define CLASS_LIST_FIELD 25
|
||||||
#define CLASS_RADIO_FIELD 32
|
#define CLASS_RADIO_FIELD 26
|
||||||
#define CLASS_BUTTON_FIELD 40
|
#define CLASS_BUTTON_FIELD 27
|
||||||
#define CLASS_SHEET_FIELD 50
|
#define CLASS_SHEET_FIELD 28
|
||||||
|
#define CLASS_BROWSEFILE_FIELD 29
|
||||||
|
|
||||||
// @END
|
// @END
|
||||||
#endif // __CLASSES_H
|
#endif // __CLASSES_H
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
|
#include <browfile.h>
|
||||||
#include <colors.h>
|
#include <colors.h>
|
||||||
#include <msksheet.h>
|
#include <msksheet.h>
|
||||||
#include <relation.h>
|
#include <relation.h>
|
||||||
@ -507,6 +508,7 @@ void TMask::get_mask_fields()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int TMask::id2pos(short id) const
|
int TMask::id2pos(short id) const
|
||||||
{
|
{
|
||||||
const int MAX_FIELDS = 256;
|
const int MAX_FIELDS = 256;
|
||||||
@ -556,6 +558,7 @@ TMask_field& TMask::field(short id) const
|
|||||||
return fld(pos);
|
return fld(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TEdit_field& TMask::efield(short id) const
|
TEdit_field& TMask::efield(short id) const
|
||||||
{
|
{
|
||||||
TMask_field& f = field(id);
|
TMask_field& f = field(id);
|
||||||
@ -563,6 +566,7 @@ TEdit_field& TMask::efield(short id) const
|
|||||||
return (TEdit_field&)f;
|
return (TEdit_field&)f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int TMask::find_field_win(WINDOW win) const
|
int TMask::find_field_win(WINDOW win) const
|
||||||
{
|
{
|
||||||
if (fld(_focus).win() == win)
|
if (fld(_focus).win() == win)
|
||||||
@ -807,6 +811,8 @@ TMask_field* TMask::parse_field(TScanner& scanner)
|
|||||||
_sheets++;
|
_sheets++;
|
||||||
return new TSheet_field(this);
|
return new TSheet_field(this);
|
||||||
}
|
}
|
||||||
|
if (scanner.key() == "BR") return new TBrowsefile_field(this);
|
||||||
|
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -65,6 +65,7 @@ public:
|
|||||||
int insert(int rec);
|
int insert(int rec);
|
||||||
bool destroy(int rec = -1);
|
bool destroy(int rec = -1);
|
||||||
|
|
||||||
|
void enable(bool on);
|
||||||
void enable_column(int col, bool on = TRUE);
|
void enable_column(int col, bool on = TRUE);
|
||||||
void enable_cell(int row, int column, bool on = TRUE);
|
void enable_cell(int row, int column, bool on = TRUE);
|
||||||
bool cell_disabled(int row, int column) const;
|
bool cell_disabled(int row, int column) const;
|
||||||
@ -896,6 +897,29 @@ void TSpreadsheet::enable_cell(int row, int column, bool on)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TSpreadsheet::enable(bool on)
|
||||||
|
{
|
||||||
|
const dword old = xi_get_attrib(_list);
|
||||||
|
const dword att = on ? (old & ~XI_ATR_READONLY) : (old | XI_ATR_READONLY);
|
||||||
|
if (old != att)
|
||||||
|
{
|
||||||
|
int num;
|
||||||
|
XI_OBJ** columns = xi_get_member_list(_list, &num);
|
||||||
|
|
||||||
|
xi_move_focus(_itf); // Set focus to interface
|
||||||
|
xi_set_attrib(_list, att);
|
||||||
|
for (int col = 1; col < num; col++)
|
||||||
|
{
|
||||||
|
XI_OBJ* column = columns[col];
|
||||||
|
dword attr = xi_get_attrib(column);
|
||||||
|
if (on) attr &= ~XI_ATR_READONLY;
|
||||||
|
else attr |= XI_ATR_READONLY;
|
||||||
|
xi_set_attrib(column, attr); // Set new attributes
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void TSpreadsheet::enable_column(int col, bool on)
|
void TSpreadsheet::enable_column(int col, bool on)
|
||||||
{
|
{
|
||||||
const bool change = _column_disabled[col] == on;
|
const bool change = _column_disabled[col] == on;
|
||||||
@ -908,7 +932,7 @@ void TSpreadsheet::enable_column(int col, bool on)
|
|||||||
CHECKD(col+1 < num, "Can't enable column ", col);
|
CHECKD(col+1 < num, "Can't enable column ", col);
|
||||||
XI_OBJ* column = columns[col+1];
|
XI_OBJ* column = columns[col+1];
|
||||||
|
|
||||||
long attr = xi_get_attrib(column);
|
dword attr = xi_get_attrib(column);
|
||||||
if (on) attr |= XI_ATR_ENABLED;
|
if (on) attr |= XI_ATR_ENABLED;
|
||||||
else attr &= ~XI_ATR_ENABLED;
|
else attr &= ~XI_ATR_ENABLED;
|
||||||
|
|
||||||
@ -1152,6 +1176,11 @@ void TSheet_field::set_notify(SPREADSHEET_NOTIFY n)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TSheet_field::enable(bool on)
|
||||||
|
{
|
||||||
|
_sheet->enable(on);
|
||||||
|
}
|
||||||
|
|
||||||
void TSheet_field::enable_column(int column, bool on)
|
void TSheet_field::enable_column(int column, bool on)
|
||||||
{
|
{
|
||||||
_sheet->enable_column(column, on);
|
_sheet->enable_column(column, on);
|
||||||
|
@ -34,11 +34,14 @@ public:
|
|||||||
int selected() const; // Number of current row
|
int selected() const; // Number of current row
|
||||||
|
|
||||||
virtual void reset();
|
virtual void reset();
|
||||||
|
virtual void enable(bool on);
|
||||||
|
|
||||||
void destroy(int r = -1); // Destroy row
|
void destroy(int r = -1); // Destroy row
|
||||||
void force_update(int r = -1);// Update data/screen
|
void force_update(int r = -1);// Update data/screen
|
||||||
|
|
||||||
TMask& sheet_mask() const;
|
TMask& sheet_mask() const;
|
||||||
void set_notify(SPREADSHEET_NOTIFY n);
|
void set_notify(SPREADSHEET_NOTIFY n);
|
||||||
|
|
||||||
void enable_column(int col, bool on = TRUE);
|
void enable_column(int col, bool on = TRUE);
|
||||||
void enable_cell(int row, int column, bool on = TRUE);
|
void enable_cell(int row, int column, bool on = TRUE);
|
||||||
void disable_cell(int row, int column) { enable_cell(row, column, FALSE); }
|
void disable_cell(int row, int column) { enable_cell(row, column, FALSE); }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user