3455276aa2
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1487 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
81 lines
1.5 KiB
Plaintext
81 lines
1.5 KiB
Plaintext
|
|
:- object(forms).
|
|
|
|
:- info([
|
|
version is 1.0,
|
|
date is 2005/5/8,
|
|
author is 'Example by LPA; adapted to Logtalk by Paulo Moura.',
|
|
comment is 'General attributes & methods for all forms.']).
|
|
|
|
:- public(print/0).
|
|
:- info(print/0, [
|
|
comment is 'Print the complete timetable from the pupil viewpoint.']).
|
|
|
|
print :-
|
|
nl, write('FORM TIMETABLE...'), nl, nl,
|
|
forall(extends_object(Form, form), Form::print), nl.
|
|
|
|
:- end_object.
|
|
|
|
|
|
:- object(form).
|
|
|
|
:- info([
|
|
version is 1.0,
|
|
date is 2005/5/8,
|
|
author is 'Example by LPA; adapted to Logtalk by Paulo Moura.',
|
|
comment is 'General attributes & methods for all forms.']).
|
|
|
|
:- public(print/0).
|
|
:- info(print/0, [
|
|
comment is 'Print the complete timetable from the pupil viewpoint.']).
|
|
|
|
:- public(print_period/1).
|
|
:- info(print_period/1, [
|
|
comment is 'Print the pupil timetable for a specific period.',
|
|
argnames is ['Period']]).
|
|
|
|
print :-
|
|
self(Self),
|
|
write('FORM: '), write(Self), nl,
|
|
forall(extends_object(Period, period), Period::print_form(Self)), nl.
|
|
|
|
print_period(Period) :-
|
|
self(Self),
|
|
timetable::filled_entry(Self, Period, Teacher, Subject),
|
|
!,
|
|
write(Self), write(': '),
|
|
write(Teacher), write(' teaches '),
|
|
write(Subject), nl.
|
|
|
|
print_period(_) :-
|
|
self(Self),
|
|
write(Self), write(': '), nl.
|
|
|
|
:- end_object.
|
|
|
|
|
|
:- object(first_year,
|
|
extends(form)).
|
|
|
|
:- end_object.
|
|
|
|
|
|
:- object(second_year,
|
|
extends(form)).
|
|
|
|
:- end_object.
|
|
|
|
|
|
:- object(third_year,
|
|
extends(form)).
|
|
|
|
:- end_object.
|
|
|
|
|
|
:- object(fourth_year,
|
|
extends(form)).
|
|
|
|
:- end_object.
|
|
|