HMainEditor.BufferImage->FileImage->ReadOnly,\r
FALSE,\r
HMainEditor.ScreenSize.Column,\r
- HMainEditor.ScreenSize.Row\r
+ HMainEditor.ScreenSize.Row,\r
+ HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Offset:HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Offset:0,\r
+ HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Size :HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Size :0\r
);\r
Done = TRUE;\r
break;\r
HMainEditor.BufferImage->FileImage->ReadOnly,\r
FALSE,\r
HMainEditor.ScreenSize.Column,\r
- HMainEditor.ScreenSize.Row\r
+ HMainEditor.ScreenSize.Row,\r
+ HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Offset:HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Offset:0,\r
+ HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Size :HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Size :0\r
);\r
Done = TRUE;\r
break;\r
HMainEditor.BufferImage->FileImage->ReadOnly,\r
FALSE,\r
HMainEditor.ScreenSize.Column,\r
- HMainEditor.ScreenSize.Row\r
+ HMainEditor.ScreenSize.Row,\r
+ HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Offset:HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Offset:0,\r
+ HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Size :HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Size :0\r
);\r
Done = TRUE;\r
break;\r
\r
--*/\r
{\r
+ BOOLEAN NameChange;\r
+ BOOLEAN ReadChange;\r
+\r
+ NameChange = FALSE;\r
+ ReadChange = FALSE;\r
+\r
+ if ( HMainEditor.BufferImage->FileImage != NULL && \r
+ HMainEditor.BufferImage->FileImage->FileName != NULL && \r
+ HBufferImageBackupVar.FileImage != NULL && \r
+ HBufferImageBackupVar.FileImage->FileName != NULL && \r
+ StrCmp (HMainEditor.BufferImage->FileImage->FileName, HBufferImageBackupVar.FileImage->FileName) != 0 ) {\r
+ NameChange = TRUE;\r
+ }\r
+ if ( HMainEditor.BufferImage->FileImage != NULL && \r
+ HBufferImageBackupVar.FileImage != NULL && \r
+ HMainEditor.BufferImage->FileImage->ReadOnly != HBufferImageBackupVar.FileImage->ReadOnly ) {\r
+ ReadChange = TRUE;\r
+ }\r
+\r
//\r
// to aVOID screen flicker\r
// the stall value is from experience\r
gBS->Stall (50);\r
\r
//\r
- // call the four components refresh function\r
+ // call the components refresh function\r
//\r
- MainTitleBarRefresh (\r
- HMainEditor.BufferImage->BufferType == FileTypeFileBuffer?HMainEditor.BufferImage->FileImage->FileName:HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Name:NULL,\r
- HMainEditor.BufferImage->BufferType,\r
- HMainEditor.BufferImage->FileImage->ReadOnly,\r
- HMainEditor.BufferImage->Modified,\r
- HMainEditor.ScreenSize.Column,\r
- HMainEditor.ScreenSize.Row\r
- );\r
- HBufferImageRefresh ();\r
- StatusBarRefresh (\r
- HEditorFirst,\r
- HMainEditor.ScreenSize.Row,\r
- HMainEditor.ScreenSize.Column,\r
- 0,\r
- 0,\r
- TRUE\r
- );\r
- MenuBarRefresh ( \r
- HMainEditor.ScreenSize.Row,\r
- HMainEditor.ScreenSize.Column);\r
+ if (HEditorFirst \r
+ || NameChange\r
+ || HMainEditor.BufferImage->BufferType != HBufferImageBackupVar.BufferType \r
+ || HBufferImageBackupVar.Modified != HMainEditor.BufferImage->Modified \r
+ || ReadChange ) {\r
+\r
+ MainTitleBarRefresh (\r
+ HMainEditor.BufferImage->BufferType == FileTypeFileBuffer?HMainEditor.BufferImage->FileImage->FileName:HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Name:NULL,\r
+ HMainEditor.BufferImage->BufferType,\r
+ HMainEditor.BufferImage->FileImage->ReadOnly,\r
+ HMainEditor.BufferImage->Modified,\r
+ HMainEditor.ScreenSize.Column,\r
+ HMainEditor.ScreenSize.Row,\r
+ HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Offset:HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Offset:0,\r
+ HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Size :HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Size :0\r
+ );\r
+ HBufferImageRefresh ();\r
+ }\r
+ if (HEditorFirst\r
+ || HBufferImageBackupVar.DisplayPosition.Row != HMainEditor.BufferImage->DisplayPosition.Row \r
+ || HBufferImageBackupVar.DisplayPosition.Column != HMainEditor.BufferImage->DisplayPosition.Column \r
+ || StatusBarGetRefresh()) {\r
+\r
+ StatusBarRefresh (\r
+ HEditorFirst,\r
+ HMainEditor.ScreenSize.Row,\r
+ HMainEditor.ScreenSize.Column,\r
+ 0,\r
+ 0,\r
+ TRUE\r
+ );\r
+ HBufferImageRefresh ();\r
+ }\r
+\r
+ if (HEditorFirst) {\r
+ MenuBarRefresh ( \r
+ HMainEditor.ScreenSize.Row,\r
+ HMainEditor.ScreenSize.Column);\r
+ HBufferImageRefresh ();\r
+ }\r
\r
//\r
// EditorFirst is now set to FALSE\r